← Prev in month ← Prev in thread

[PATCH] virtio-net: Fix VIRTIO_NET_F_GUEST_HDRLEN feature definition.

From
Vitaly Mireyno <>
Date
2020-02-24T08:15:14+00:00
ID
Thread
[PATCH] virtio-net: Fix VIRTIO_NET_F_GUEST_HDRLEN feature definition.
Fix driver and device requirements with regards to the VIRTIO_NET_F_GUEST_HDRLEN feature - 'hdr_len' must be accurate only for TSO/UFO packets.


Signed-off-by: Vitaly Mireyno <>
---
 content.tex | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/content.tex b/content.tex
index b91a132..2f71f8f 100644
--- a/content.tex
+++ b/content.tex
@@ -3354,10 +3354,12 @@ \subsubsection{Packet Transmission}\label{sec:Device Types / Network Device / De
 been negotiated:
 \begin{itemize}
 \item If the VIRTIO_NET_F_GUEST_HDRLEN feature has been negotiated,
+	and \field{gso_type} differs from VIRTIO_NET_HDR_GSO_NONE,
 	the driver MUST set \field{hdr_len} to a value equal to the length
 	of the headers, including the transport header.
 
 \item If the VIRTIO_NET_F_GUEST_HDRLEN feature has not been negotiated,
+	or \field{gso_type} is VIRTIO_NET_HDR_GSO_NONE,
 	the driver SHOULD set \field{hdr_len} to a value
 	not less than the length of the headers, including the transport
 	header.
@@ -3379,6 +3381,7 @@ \subsubsection{Packet Transmission}\label{sec:Device Types / Network Device / De
 been negotiated:
 \begin{itemize}
 \item If the VIRTIO_NET_F_GUEST_HDRLEN feature has been negotiated,
+	and \field{gso_type} differs from VIRTIO_NET_HDR_GSO_NONE,
 	the device MAY use \field{hdr_len} as the transport header size.
 
 	\begin{note}
@@ -3387,6 +3390,7 @@ \subsubsection{Packet Transmission}\label{sec:Device Types / Network Device / De
 	\end{note}
 
 \item If the VIRTIO_NET_F_GUEST_HDRLEN feature has not been negotiated,
+	or \field{gso_type} is VIRTIO_NET_HDR_GSO_NONE,
 	the device MAY use \field{hdr_len} only as a hint about the
 	transport header size.
 	The device MUST NOT rely on \field{hdr_len} to be correct.
--
← Prev in month ← Prev in thread