You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"5.1.6.3.1 Driver Requirements: Setting Up Receive Buffers
If VIRTIO_NET_F_MRG_RXBUF is not negotiated:
If VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6 or VIRTIO_NET_F_GUEST_UFO are negotiated, the driver SHOULD populate the receive queue(s) with buffers of at least 65562 bytes.
Otherwise, the driver SHOULD populate the receive queue(s) with buffers of at least 1526 bytes.
If VIRTIO_NET_F_MRG_RXBUF is negotiated, each buffer MUST be at greater than the size of the struct virtio_net_hdr"
if VIRTIO_NET_F_MRG_RXBUF is NOT negotiated AND VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6 or VIRTIO_NET_F_GUEST_UFO we should be using 17-pages large buffers instead of 1-page large currently.
Lack of proper support of this case causes networking to fail on firecracker (which does not support VIRTIO_NET_F_MRG_RXBUF - see issue firecracker-microvm/firecracker#1314) if, for example, one tries to download large files on OSv.
This approximate patch provides a partial bluepronit of how this issue can be addressed:
Per virtio spec:
"5.1.6.3.1 Driver Requirements: Setting Up Receive Buffers
If VIRTIO_NET_F_MRG_RXBUF is not negotiated:
If VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6 or VIRTIO_NET_F_GUEST_UFO are negotiated, the driver SHOULD populate the receive queue(s) with buffers of at least 65562 bytes.
Otherwise, the driver SHOULD populate the receive queue(s) with buffers of at least 1526 bytes.
If VIRTIO_NET_F_MRG_RXBUF is negotiated, each buffer MUST be at greater than the size of the struct virtio_net_hdr"
if VIRTIO_NET_F_MRG_RXBUF is NOT negotiated AND VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6 or VIRTIO_NET_F_GUEST_UFO we should be using 17-pages large buffers instead of 1-page large currently.
Lack of proper support of this case causes networking to fail on firecracker (which does not support VIRTIO_NET_F_MRG_RXBUF - see issue firecracker-microvm/firecracker#1314) if, for example, one tries to download large files on OSv.
This approximate patch provides a partial bluepronit of how this issue can be addressed:
Please see relevant discussion here.
The text was updated successfully, but these errors were encountered: