libvmm icon indicating copy to clipboard operation
libvmm copied to clipboard

Add virtio-socket device implementation

Open dreamliner787-9 opened this issue 8 months ago • 0 comments

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.

dreamliner787-9 avatar Apr 04 '25 03:04 dreamliner787-9