This patchset implements support of SOCK_DGRAM for virtio
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
The virtio spec patch is here:
For those who prefer git repo, here is the link for the linux kernel：
qemu patch link:
1. use skb when receiving packets
2. support multiple transport
3. support mergeable rx buffer