[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [PATCH 2/2] virtio-net: Avoid abbreviating flag names
Use the full name for various flags when referencing them in the body of the text. Signed-off-by: David Edmondson <david.edmondson@oracle.com> --- device-types/net/description.tex | 87 ++++++++++++++++++-------------- 1 file changed, 49 insertions(+), 38 deletions(-) diff --git a/device-types/net/description.tex b/device-types/net/description.tex index 8aa7953..106a1c7 100644 --- a/device-types/net/description.tex +++ b/device-types/net/description.tex @@ -472,14 +472,16 @@ \subsubsection{Packet Transmission}\label{sec:Device Types / Network Device / De checksum includes the header), and \field{csum_offset} will be 16. \end{note} -\item If the driver negotiated - VIRTIO_NET_F_HOST_TSO4, TSO6, USO or UFO, and the packet requires - TCP segmentation, UDP segmentation or fragmentation, then \field{gso_type} - is set to VIRTIO_NET_HDR_GSO_TCPV4, TCPV6, UDP_L4 or UDP. - (Otherwise, it is set to VIRTIO_NET_HDR_GSO_NONE). In this - case, packets larger than 1514 bytes can be transmitted: the - metadata indicates how to replicate the packet header to cut it - into smaller packets. The other gso fields are set: +\item If the driver negotiated VIRTIO_NET_F_HOST_TSO4, + VIRTIO_NET_F_HOST_TSO6, VIRTIO_NET_F_HOST_USO or + VIRTIO_NET_F_HOST_UFO, and the packet requires TCP segmentation, UDP + segmentation or fragmentation, then \field{gso_type} is set to + VIRTIO_NET_HDR_GSO_TCPV4, VIRTIO_NET_HDR_GSO_TCPV6, + VIRTIO_NET_HDR_GSO_UDP_L4 or VIRTIO_NET_HDR_GSO_UDP. (Otherwise, it + is set to VIRTIO_NET_HDR_GSO_NONE). In this case, packets larger + than 1514 bytes can be transmitted: the metadata indicates how to + replicate the packet header to cut it into smaller packets. The + other gso fields are set: \begin{itemize} \item If the VIRTIO_NET_F_GUEST_HDRLEN feature has been negotiated, @@ -564,8 +566,9 @@ \subsubsection{Packet Transmission}\label{sec:Device Types / Network Device / De packet; \end{enumerate} -If none of the VIRTIO_NET_F_HOST_TSO4, TSO6, USO or UFO options have -been negotiated, the driver MUST set \field{gso_type} to +If none of the VIRTIO_NET_F_HOST_TSO4, VIRTIO_NET_F_HOST_TSO6, +VIRTIO_NET_F_HOST_USO or VIRTIO_NET_F_HOST_UFO options have been +negotiated, the driver MUST set \field{gso_type} to VIRTIO_NET_HDR_GSO_NONE. If \field{gso_type} differs from VIRTIO_NET_HDR_GSO_NONE, then @@ -573,8 +576,9 @@ \subsubsection{Packet Transmission}\label{sec:Device Types / Network Device / De \field{flags} and MUST set \field{gso_size} to indicate the desired MSS. -If one of the VIRTIO_NET_F_HOST_TSO4, TSO6, USO or UFO options have -been negotiated: +If one of the VIRTIO_NET_F_HOST_TSO4, VIRTIO_NET_F_HOST_TSO6, +VIRTIO_NET_F_HOST_USO or VIRTIO_NET_F_HOST_UFO options have 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, @@ -600,8 +604,9 @@ \subsubsection{Packet Transmission}\label{sec:Device Types / Network Device / De If VIRTIO_NET_HDR_F_NEEDS_CSUM bit in \field{flags} is not set, the device MUST NOT use the \field{csum_start} and \field{csum_offset}. -If one of the VIRTIO_NET_F_HOST_TSO4, TSO6, USO or UFO options have -been negotiated: +If one of the VIRTIO_NET_F_HOST_TSO4, VIRTIO_NET_F_HOST_TSO6, +VIRTIO_NET_F_HOST_USO or VIRTIO_NET_F_HOST_UFO options have 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, @@ -717,23 +722,26 @@ \subsubsection{Processing of Incoming Packets}\label{sec:Device Types / Network has been validated. \end{enumerate} -Additionally, VIRTIO_NET_F_GUEST_CSUM, TSO4, TSO6, UDP and ECN -features enable receive checksum, large receive offload and ECN -support which are the input equivalents of the transmit checksum, -transmit segmentation offloading and ECN features, as described -in \ref{sec:Device Types / Network Device / Device Operation / -Packet Transmission}: +Additionally, VIRTIO_NET_F_GUEST_CSUM, VIRTIO_NET_F_GUEST_TSO4, +VIRTIO_NET_F_GUEST_TSO6, VIRTIO_NET_F_GUEST_UDP and +VIRTIO_NET_F_GUEST_ECN features enable receive checksum, large receive +offload and ECN support which are the input equivalents of the +transmit checksum, transmit segmentation offloading and ECN features, +as described in \ref{sec:Device Types / Network Device / Device + Operation / Packet Transmission}: \begin{enumerate} -\item If the VIRTIO_NET_F_GUEST_TSO4, TSO6, UFO, USO4 or USO6 options were - negotiated, then \field{gso_type} MAY be something other than +\item 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 options were negotiated, then + \field{gso_type} MAY be something other than VIRTIO_NET_HDR_GSO_NONE, and \field{gso_size} field indicates the desired MSS (see Packet Transmission point 2). -\item If the VIRTIO_NET_F_RSC_EXT option was negotiated (this - implies one of VIRTIO_NET_F_GUEST_TSO4, TSO6), the - device processes also duplicated ACK segments, reports - number of coalesced TCP segments in \field{csum_start} field and - number of duplicated ACK segments in \field{csum_offset} field - and sets bit VIRTIO_NET_HDR_F_RSC_INFO in \field{flags}. +\item If the VIRTIO_NET_F_RSC_EXT option was negotiated (this implies + one of VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6), the device + processes also duplicated ACK segments, reports number of coalesced + TCP segments in \field{csum_start} field and number of duplicated + ACK segments in \field{csum_offset} field and sets bit + VIRTIO_NET_HDR_F_RSC_INFO in \field{flags}. \item If the VIRTIO_NET_F_GUEST_CSUM feature was negotiated, the VIRTIO_NET_HDR_F_NEEDS_CSUM bit in \field{flags} can be set: if so, the packet checksum at offset \field{csum_offset} @@ -809,9 +817,10 @@ \subsubsection{Processing of Incoming Packets}\label{sec:Device Types / Network fully checksummed packet; \end{enumerate} -If none of the VIRTIO_NET_F_GUEST_TSO4, TSO6, UFO, USO4 or USO6 options have -been negotiated, the device MUST set \field{gso_type} to -VIRTIO_NET_HDR_GSO_NONE. +If none of 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 options have been negotiated, the device MUST +set \field{gso_type} to VIRTIO_NET_HDR_GSO_NONE. If \field{gso_type} differs from VIRTIO_NET_HDR_GSO_NONE, then the device MUST also set the VIRTIO_NET_HDR_F_NEEDS_CSUM bit in @@ -824,10 +833,11 @@ \subsubsection{Processing of Incoming Packets}\label{sec:Device Types / Network If VIRTIO_NET_F_RSC_EXT was not negotiated, the device MUST not set VIRTIO_NET_HDR_F_RSC_INFO bit in \field{flags}. -If one of the VIRTIO_NET_F_GUEST_TSO4, TSO6, UFO, USO4 or USO6 options have -been negotiated, the device SHOULD set \field{hdr_len} to a value -not less than the length of the headers, including the transport -header. +If one of 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 options have been negotiated, the device +SHOULD set \field{hdr_len} to a value not less than the length of the +headers, including the transport header. If the VIRTIO_NET_F_GUEST_CSUM feature has been negotiated, the device MAY set the VIRTIO_NET_HDR_F_DATA_VALID bit in @@ -845,9 +855,10 @@ \subsubsection{Processing of Incoming Packets}\label{sec:Device Types / Network if VIRTIO_NET_HDR_F_RSC_INFO bit \field{flags} is set, the driver MUST NOT use the \field{csum_start} and \field{csum_offset}. -If one of the VIRTIO_NET_F_GUEST_TSO4, TSO6, UFO, USO4 or USO6 options have -been negotiated, the driver MAY use \field{hdr_len} only as a hint about the -transport header size. +If one of 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 options have been negotiated, the driver MAY +use \field{hdr_len} only as a hint about the transport header size. The driver MUST NOT rely on \field{hdr_len} to be correct. \begin{note} This is due to various bugs in implementations. -- 2.39.2 (Apple Git-143)
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]