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


Hard-coded references to the size of virtio_net_hdr strut are wrong when
VIRTIO_NET_HASH_REPORT feature is negotiated.

Changelog:
v1->v2: Fixed wording syntax
v2->v3: Rebase

Signed-off-by: Cyril Germond <cgermond@kalray.eu>
---
 content.tex    | 10 ++++++----
 split-ring.tex |  3 ++-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/content.tex b/content.tex
index 91ba76c..61bc09c 100644
--- a/content.tex
+++ b/content.tex
@@ -3622,8 +3622,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 (the length of which depends on VIRTIO_NET_F_HASH_REPORT
+feature negotiation) is prepended to this.
 
 \drivernormative{\paragraph}{Setting Up Receive Buffers}{Device Types / Network Device / Device Operation / Setting Up Receive Buffers}
 
@@ -3632,9 +3632,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,
-- 
2.25.1







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