OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: VIRTIO_NET_F_MRG_RXBUF number of descriptors


In addition I suggest, Section 5.1.6.4 (Processing of Incoming Packets) should be changed from:
"
1. num_buffers indicates how many descriptors this packet is spread over (including this one): this will always be 1 if VIRTIO_NET_F_MRG_RXBUF was not negotiated. This allows receipt of large packets without having to allocate large buffers: a packet that does not fit in a single buffer can flow over to the next buffer, and so on. In this case, there will be at least num_buffers used buffers in the virtqueue, and the device chains them together to form a single packet in a way similar to how it would store it in a single buffer spread over multiple descriptors. The other buffers will not begin with a struct virtio_net_hdr.
2. If num_buffers is one, then the entire packet will be contained within this buffer, immediately following the struct virtio_net_hdr.
"
 
to
 
"
1. num_buffers indicates how many descriptor-chains this packet is spread over (including this one): this will always be 1 if VIRTIO_NET_F_MRG_RXBUF was not negotiated. This allows receipt of large packets without having to allocate large buffers: a packet that does not fit in a single buffer can flow over to the next buffer, and so on. In this case, there will be at least num_buffers used buffers in the virtqueue, and the device merge them together to form a single packet. The other buffers will not begin with a struct virtio_net_hdr.
2. If num_buffers is one, then the entire packet will be contained within this descriptors-chain, immediately following the struct virtio_net_hdr.     
"
 
This, in order to prevent more confusion, caused by the use of the word “descriptor” interchanging as between descriptor and descriptor-chain.
 
 
Thanks,
Gil
 
 
-----Original Message-----
From: Savir, Gil
Sent: Tuesday, 9 July, 2019 09:35
To: virtio-comment@lists.oasis-open.org
Subject: VIRTIO_NET_F_MRG_RXBUF number of descriptors
 
Hi,
 
v1.1 states at Section 5.1.6.3.2 (Device Requirements: Setting Up Receive Buffers):
        ”The device MUST use only a single descriptor if VIRTIO_NET_F_MRG_RXBUF was not negotiated.”
That's a mistake, since the device can, and should be able to use multiple descriptors, pertaining to the same descriptors chain.
 
Therefore I suggest to change it to:
        " The device MUST use only a single descriptor-chain if VIRTIO_NET_F_MRG_RXBUF was not negotiated."
 
BTW, as result of this wrongly formulated sentence, I came across many people (including my-past-self) that confuse MRG_RXBUF feature with descriptors-chain support.
Fixing it will help avoiding this confusion.
 
Thanks,
Gil
 
 

---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]