-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[Feature Request] Add SEQPACKET socket type for vsock #4822
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi gabivlj, |
I can pick this up, though I'm new to the project so may need some pointers |
Thanks @evanrittenhouse, our getting started guide here is probably the best place to get going. Any other pointers/questions feel free to reach out |
@evanrittenhouse I see if you were still interested in working on this issue. If not, would I be able to take it on? Thank you! |
I was looking at what it would take to add this over the past week and came up with some ideas:
Please let me know if I'm mistaken about anything! |
@gjkeller we don't have any progress on this. Feel free to work on it. |
Just a minor draft, very heavily a work in progress done in part with @gjkeller. |
Feature Request
https://docs.oasis-open.org/virtio/virtio/v1.2/csd01/virtio-v1.2-csd01.html
VIRTIO_VSOCK_F_SEQPACKET has been introduced as an option for virtio vsock. It would enable the use-case of VMs that are relaying datagrams over a vsock and need to keep the boundaries without a SOCK_STREAM combining them together.
Right now you can connect from the VM opening a vsock with SOCK_STREAM type, but not with SOCK_SEQPACKET. This would also mean that on the host side the created UDS needs to match the socket type of the vsock.
Describe the desired solution
This should work:
And if the opened UDS on the host side doesn't match the sock type it should not go ahead with the connection.
Describe possible alternatives
I worked around this by implementing packet boundaries within the stream socket, but it's clearly a not very efficient solution and slow.
Checks
I am curious if this is something the Firecracker team is interested in implementing for their vsock virtio component.
The text was updated successfully, but these errors were encountered: