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-comment] [PATCH] virtio-net: Fix virtio_net_hdr struct size when VIRTIO_NET_F_HASH_REPORT is negotiated.


On Fri, Sep 02 2022, Cyril Germond <cgermond@kalray.eu> wrote:

> Hard-coded references to the size of virtio_net_hdr strut are wrong when
> VIRTIO_NET_HASH_REPORT feature is negotiated.
>
> Signed-off-by: Cyril Germond <cgermond@kalray.eu>

Please add versioning (git format-patch -v<n>) in the subject, and a
changelog between the "---"; otherwise, this gets a bit hard to follow.

> ---
>  content.tex    | 10 ++++++----
>  split-ring.tex |  3 ++-
>  2 files changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/content.tex b/content.tex
> index e863709..f0d0696 100644
> --- a/content.tex
> +++ b/content.tex
> @@ -3620,8 +3620,8 @@ \subsubsection{Setting Up Receive Buffers}\label{sec:Device Types / Network Devi
>  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.
> +1514 bytes.  The struct virtio_net_hdr (which length depends on VIRTIO_NET_F_HASH_REPORT

s/which length/the length of which/ ?

> +feature negotiation) is prepended to this.
>  
>  \drivernormative{\paragraph}{Setting Up Receive Buffers}{Device Types / Network Device / Device Operation / Setting Up Receive Buffers}
>  
> @@ -3630,9 +3630,11 @@ \subsubsection{Setting Up Receive Buffers}\label{sec:Device Types / Network Devi
>    \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 65570 bytes
> +      if VIRTIO_NET_F_HASH_REPORT is negotiated, 65562 bytes otherwise.
>      \item Otherwise, the driver SHOULD populate the receive queue(s)
> -      with buffers of at least 1526 bytes.
> +      with buffers of at least 1534 bytes if VIRTIO_NET_F_HASH_REPORT
> +      is negotiated, 1526 bytes otherwise.
>    \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.
> diff --git a/split-ring.tex b/split-ring.tex
> index de94038..82e910f 100644
> --- a/split-ring.tex
> +++ b/split-ring.tex
> @@ -127,7 +127,8 @@ \subsection{Legacy Interfaces: A Note on Virtqueue Endianness}\label{sec:Basic F
>  
>  \subsection{Message Framing}\label{sec:Basic Facilities of a Virtio Device / Virtqueues / Message Framing}
>  The framing of messages with descriptors is
> -independent of the contents of the buffers. For example, a network
> +independent of the contents of the buffers. For example, if
> +VIRTIO_NET_F_HASH_REPORT has not been negotiated, a network
>  transmit buffer consists of a 12 byte header followed by the network
>  packet. This could be most simply placed in the descriptor table as a
>  12 byte output descriptor followed by a 1514 byte output descriptor,

Looks good to me, but I'll let the virtio-net folks comment.



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