Skip to content

Add virtio-socket device implementation#161

Draft
dreamliner787-9 wants to merge 19 commits intomainfrom
virtio_socket_rebased
Draft

Add virtio-socket device implementation#161
dreamliner787-9 wants to merge 19 commits intomainfrom
virtio_socket_rebased

Conversation

@dreamliner787-9
Copy link
Contributor

@dreamliner787-9 dreamliner787-9 commented Apr 4, 2025

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:

…2 clients booting

Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
…orking

Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
…nger

Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
…ple progs

Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
…ay not be sent when it should be

Signed-off-by: Bill Nguyen <bill.nguyen@student.unsw.edu.au>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants