How vectorgrp/sil-kit-adapters-qemu works
This repository’s runtime product is an adapter connecting QEMU socket-backed devices to a SIL Kit participant. Its main workflow is to parse CLI adaptation requests, establish QEMU socket connections, and forward Ethernet frames or character bytes between QEMU and SIL Kit services/topics. It also includes an Ethernet ICMP echo demo. The README documents character-device pub/sub behavior, but its implementation is not in the supplied tree; that branch is shown at the documented boundary only.
Main entry points: EthSocketToEthControllerAdapter.cpp Ethernet controller · SilKitAdapterQemu.cpp CLI entry point · Device.cpp Echo device · SilKitDemoEthernetIcmpEchoDevice.cpp Echo demo entry
Components 14
Adapter runtime
- CLI entry point
adapter/SilKitAdapterQemu.cpp - Participant creation
Ethernet transport
- Ethernet socket adapter
eth/adapter/EthSocketToEthControllerAdapter.cpp - Ethernet argument parser
eth/adapter/EthSocketToEthControllerAdapter.cpp - Frame codecs
eth/Utility/EthernetHeader.hpp - IPv4 codec
eth/Utility/Ip4Header.hpp - Ethernet controller
eth/adapter/EthSocketToEthControllerAdapter.cpp
Character transport
- Socket byte adapter
Ethernet demo
- Echo device
eth/demos/IcmpEchoDevice/Device.cpp - Echo demo entry
eth/demos/IcmpEchoDevice/SilKitDemoEthernetIcmpEchoDevice.cpp
Other components
- Operator
- QEMU guest
- SIL Kit registry
- SIL Kit networks/topics
Connections 20
- Operator → CLI entry point: provides CLI
- CLI entry point → Participant creation: creates participant
- Participant creation → SIL Kit registry: connects to
- CLI entry point → Ethernet argument parser: parses Ethernet
- Ethernet argument parser → Ethernet socket adapter: constructs
- CLI entry point → Socket byte adapter: parses chardev
- QEMU guest → Ethernet socket adapter: sends frames
- Ethernet socket adapter → QEMU guest: sends frames
- Ethernet socket adapter → Ethernet controller: registers handlers
- Ethernet controller → SIL Kit networks/topics: exchanges frames
- QEMU guest → Socket byte adapter: sends characters
- Socket byte adapter → QEMU guest: sends characters
- Socket byte adapter → SIL Kit networks/topics: publishes and subscribes
- Echo demo entry → Participant creation: creates participant
- Echo demo entry → Ethernet controller: creates controller
- Ethernet controller → Echo demo entry: delivers frames
- Echo demo entry → Echo device: processes frames
- Echo device → Frame codecs: parses and writes
- Echo device → IPv4 codec: parses and writes
- Echo device → Ethernet controller: sends replies