libvmm
libvmm copied to clipboard
Add virtio-socket device implementation
This PR adds virtio-socket device implementation and example system into libvmm to allow inter-guests communication without any Ethernet or IP protocols set up.
The accompanying example system virtio-socket runs two Linux guests that act as a receiver and sender that communicate with each others via virtio-socket. Its setup is as follows:
--------- VM --------- --------- VM ---------
Userland: Userland:
vsock_recv.elf vsock_send.elf
^ |
| v
Kernel: Kernel:
virtio MMIO vsock virtio MMIO vsock
^ |
| v
--------- VMM -------- --------- VMM --------
virtio vsock device /-- virtio vsock device
^ /
| /
rx buffer <----------------/ rx buffer
Checklist before this PR can be merged:
- [ ] Merge https://github.com/au-ts/microkit_sdf_gen/pull/10
- [ ] Update sdfgen version in readmes and CI scripts.
- [x] Converge the virtio-socket example with virtio example.