[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-comment] [PATCH 1/2] virtio-net: Fix receive buffer size calculation text
On Fri, 10 Nov 2023 14:40:39 +0200, Parav Pandit <parav@nvidia.com> wrote: > Receive buffer size calculation is based on the following > negotiated features. > > The text has wrong calculation for IPv6 and also it has missed > VIRTIO_NET_F_HASH_REPORT. > > The problem of igorance of VIRTIO_NET_F_HASH_REPORT is reported > in [1], however fix for ipv6 payload length must also be > considered. > > Since for the both the fixes touching same requirements, a > new issue is created as [2]. > > This patch brings following fixes. > > 1. Fix annotating struct virtio_net_hdr as field > 2. Fix receive buffer calculation for guest GSO cases to consider > ipv6 payload length > 3. small grammar corrections for article > 4. reword the requirement to consider the virtio_ndr_hdr which is > depends on the negotiated feature, hence first clarify the > struct virtio_net_hdr size > > [1] https://github.com/oasis-tcs/virtio-spec/issues/170 > [2] https://github.com/oasis-tcs/virtio-spec/issues/183 > > Fixes: https://github.com/oasis-tcs/virtio-spec/issues/170 > Fixes: https://github.com/oasis-tcs/virtio-spec/issues/183 > Signed-off-by: Parav Pandit <parav@nvidia.com> > --- > device-types/net/description.tex | 25 ++++++++++++++++++------- > 1 file changed, 18 insertions(+), 7 deletions(-) > > diff --git a/device-types/net/description.tex b/device-types/net/description.tex > index 96f7dc5..f5647d4 100644 > --- a/device-types/net/description.tex > +++ b/device-types/net/description.tex > @@ -660,24 +660,35 @@ \subsubsection{Setting Up Receive Buffers}\label{sec:Device Types / Network Devi > If the VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6, > VIRTIO_NET_F_GUEST_UFO, VIRTIO_NET_F_GUEST_USO4 or VIRTIO_NET_F_GUEST_USO6 > features are used, the maximum incoming packet > -will be to 65550 bytes long (the maximum size of a > -TCP or UDP packet, plus the 14 byte ethernet header), otherwise > -1514 bytes. The 12-byte struct virtio_net_hdr is prepended to this, > -making for 65562 or 1526 bytes. > +will of size 65589 bytes long (14 bytes of Ethernet header, plus 40 bytes of > +the IPv6 header, plus 65535 bytes of maximum IPv6 payload including any > +extension header) otherwise 1514 bytes. > +When VIRTIO_NET_F_HASH_REPORT is not negotiated, the required receive buffer > +size is either 65601 or 1526 bytes. > +When VIRTIO_NET_F_HASH_REPORT is negotiated, the required receive buffer > +size is either 65609 or 1534 bytes. > > \drivernormative{\paragraph}{Setting Up Receive Buffers}{Device Types / Network Device / Device Operation / Setting Up Receive Buffers} > > +If VIRTIO_NET_F_HASH_REPORT is not negotiated, the size of the field > +\field{struct virtio_net_hdr} is 12 bytes. > + > +If VIRTIO_NET_F_HASH_REPORT is negotiated, the size of the field > +\field{struct virtio_net_hdr} is 20 bytes. For the receive side, is these needed? Other is ok to me. Thanks > + > \begin{itemize} > \item If VIRTIO_NET_F_MRG_RXBUF is not negotiated: > \begin{itemize} > \item If VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6, VIRTIO_NET_F_GUEST_UFO, > VIRTIO_NET_F_GUEST_USO4 or VIRTIO_NET_F_GUEST_USO6 are negotiated, the driver SHOULD populate > - the receive queue(s) with buffers of at least 65562 bytes. > + the receive queue(s) with buffers of at least 65589 bytes plus the size > + of the \field{struct virtio_net_hdr}. > \item Otherwise, the driver SHOULD populate the receive queue(s) > - with buffers of at least 1526 bytes. > + with buffers of at least 1514 bytes plus the size of the > + \field{struct virtio_net_hdr}. > \end{itemize} > \item If VIRTIO_NET_F_MRG_RXBUF is negotiated, each buffer MUST be at > -least the size of the struct virtio_net_hdr. > +least the size of the \field{struct virtio_net_hdr}. > \end{itemize} > > \begin{note} > -- > 2.34.1 > > > This publicly archived list offers a means to provide input to the > OASIS Virtual I/O Device (VIRTIO) TC. > > In order to verify user consent to the Feedback License terms and > to minimize spam in the list archive, subscription is required > before posting. > > Subscribe: virtio-comment-subscribe@lists.oasis-open.org > Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org > List help: virtio-comment-help@lists.oasis-open.org > List archive: https://lists.oasis-open.org/archives/virtio-comment/ > Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf > List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists > Committee: https://www.oasis-open.org/committees/virtio/ > Join OASIS: https://www.oasis-open.org/join/ >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]