On Wed, Jun 09, 2021 at 11:24:52PM +0000, Jiang Wang wrote:
This patchset implements support of SOCK_DGRAM for virtio
transport.
Datagram sockets are connectionless and unreliable. To avoid unfair contention
with stream and other sockets, add two more virtqueues and
a new feature bit to indicate if those two new queues exist or not.
Dgram does not use the existing credit update mechanism for
stream sockets. When sending from the guest/driver, sending packets
synchronously, so the sender will get an error when the virtqueue is full.
When sending from the host/device, send packets asynchronously
because the descriptor memory belongs to the corresponding QEMU
process.
The virtio spec patch is here:
https://www.spinics.net/lists/linux-virtualization/msg50027.html
For those who prefer git repo, here is the link for the linux kernel:
https://github.com/Jiang1155/linux/tree/vsock-dgram-v1
qemu patch link:
https://github.com/Jiang1155/qemu/tree/vsock-dgram-v1
To do:
1. use skb when receiving packets
2. support multiple transport
3. support mergeable rx buffer
Jiang, I'll do a fast review, but I think is better to rebase on
net-next since SEQPACKET support is now merged.
Please also run ./scripts/checkpatch.pl, there are a lot of issues.
I'll leave some simple comments in the patches, but I prefer to do a
deep review after the rebase and the dynamic handling of DGRAM.
Thanks,
Stefano
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization