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 v3] virtio-net: Add support for correct hdr_len field.


Cornelia could you pls post a fixup for the missing articles?

On Sun, Nov 17, 2019 at 06:24:46AM +0000, Vitaly Mireyno wrote:
> Fixes: https://github.com/oasis-tcs/virtio-spec/issues/57
> 
> >-----Original Message-----
> >From: virtio-comment@lists.oasis-open.org <virtio-comment@lists.oasis-
> >open.org> On Behalf Of Vitaly Mireyno
> >Sent: Tuesday, 5 November, 2019 17:26
> >To: virtio-comment@lists.oasis-open.org
> >Cc: Michael S. Tsirkin <mst@redhat.com>; Jason Wang
> ><jasowang@redhat.com>
> >Subject: [EXT] [virtio-comment] [PATCH v3] virtio-net: Add support for correct
> >hdr_len field.
> >
> >Incorporated more v1 comments
> >
> >Changes from v2:
> > * Added device implementation note for using hdr_len
> >
> >Signed-off-by: Vitaly Mireyno <vmireyno@marvell.com>
> >---
> > content.tex | 56 +++++++++++++++++++++++++++++++++++++++++++-----
> >-----
> > 1 file changed, 46 insertions(+), 10 deletions(-)
> >
> >diff --git a/content.tex b/content.tex
> >index b1ea9b9..5d3f865 100644
> >--- a/content.tex
> >+++ b/content.tex
> >@@ -2811,6 +2811,9 @@ \subsection{Feature bits}\label{sec:Device Types /
> >Network Device / Feature bits  \item[VIRTIO_NET_F_CTRL_MAC_ADDR(23)]
> >Set MAC address through control
> >     channel.
> >
> >+\item[VIRTIO_NET_F_GUEST_HDRLEN(59)] Driver can provide the exact
> >\field{hdr_len}
> >+    value. Device benefits from knowing the exact header length.
> >+
> > \item[VIRTIO_NET_F_RSC_EXT(61)] Device can process duplicated ACKs
> >     and report number of coalesced segments and duplicated ACKs
> >
> >@@ -3095,12 +3098,21 @@ \subsubsection{Packet
> >Transmission}\label{sec:Device Types / Network Device / De
> >   into smaller packets. The other gso fields are set:
> >
> >   \begin{itemize}
> >-  \item \field{hdr_len} is a hint to the device as to how much of the header
> >+  \item If the VIRTIO_NET_F_GUEST_HDRLEN feature has been negotiated,
> >+    \field{hdr_len} indicates the header length that needs to be replicated
> >+    for each packet. It's a number of bytes from beginning of the packet
> >+    to beginning of the transport payload.
> >+    Otherwise, if the VIRTIO_NET_F_GUEST_HDRLEN feature has not been
> >negotiated,
> >+    \field{hdr_len} is a hint to the device as to how much of the
> >+ header
> >     needs to be kept to copy into each packet, usually set to the
> >     length of the headers, including the transport header\footnote{Due to
> >various bugs in implementations, this field is not useful  as a guarantee of the
> >transport header size.
> > }.
> >
> >+  \begin{note}
> >+  Some devices benefit from knowledge of the exact header length.
> >+  \end{note}
> >+
> >   \item \field{gso_size} is the maximum size of each packet beyond that
> >     header (ie. MSS).
> >
> >@@ -3173,9 +3185,20 @@ \subsubsection{Packet
> >Transmission}\label{sec:Device Types / Network Device / De  desired MSS.
> >
> > If one of the VIRTIO_NET_F_HOST_TSO4, TSO6 or UFO options have -been
> >negotiated, the driver SHOULD set \field{hdr_len} to a value -not less than the
> >length of the headers, including the transport -header.
> >+been negotiated:
> >+\begin{itemize}
> >+\item If the VIRTIO_NET_F_GUEST_HDRLEN feature has been negotiated,
> >+	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,
> >+	the driver SHOULD set \field{hdr_len} to a value
> >+	not less than the length of the headers, including the transport
> >+	header.
> >+\end{itemize}
> >+
> >+The driver SHOULD accept the VIRTIO_NET_F_GUEST_HDRLEN feature if it
> >+has been offered, and if it's able to provide the exact header length.
> >
> > The driver MUST NOT set the VIRTIO_NET_HDR_F_DATA_VALID and
> >VIRTIO_NET_HDR_F_RSC_INFO bits in \field{flags}.
> >@@ -3187,12 +3210,25 @@ \subsubsection{Packet
> >Transmission}\label{sec:Device Types / Network Device / De  device MUST
> >NOT use the \field{csum_start} and \field{csum_offset}.
> >
> > If one of the VIRTIO_NET_F_HOST_TSO4, TSO6 or UFO options have -been
> >negotiated, 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.
> >-\begin{note}
> >-This is due to various bugs in implementations.
> >-\end{note}
> >+been negotiated:
> >+\begin{itemize}
> >+\item If the VIRTIO_NET_F_GUEST_HDRLEN feature has been negotiated,
> >+	the device MAY use \field{hdr_len} as the transport header size.
> >+
> >+	\begin{note}
> >+	Caution should be taken by the implementation so as to prevent
> >+	malicious driver from attacking the device by setting incorrect hdr_len.
> >+	\end{note}
> >+
> >+\item If the VIRTIO_NET_F_GUEST_HDRLEN feature has not been
> >negotiated,
> >+	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.
> >+
> >+	\begin{note}
> >+	This is due to various bugs in implementations.
> >+	\end{note}
> >+\end{itemize}
> >
> > If VIRTIO_NET_HDR_F_NEEDS_CSUM is not set, the device MUST NOT  rely
> >on the packet checksum being correct.
> >--
> >
> >This publicly archived list offers a means to provide input to theOASIS Virtual
> >I/O Device (VIRTIO) TC.In order to verify user consent to the Feedback License
> >terms andto minimize spam in the list archive, subscription is requiredbefore
> >posting.Subscribe: virtio-comment-subscribe@lists.oasis-
> >open.orgUnsubscribe: virtio-comment-unsubscribe@lists.oasis-open.orgList
> >help: virtio-comment-help@lists.oasis-open.orgList archive:
> >https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.oasis-
> >2Dopen.org_archives_virtio-
> >2Dcomment_&d=DwIFAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=lDHJ2FW52oJ3lq
> >qsArgFRdcevq01tbLQAw4A_NO7xgI&m=lWqsPbOUMgzkEVyF16L3g079hplmK
> >1phL1e6LJfAuy4&s=DSMXwXJqsTFsEujJH_jBRVoynoKrcp44osbLODkEc_I&e=
> >Feedback License: https://urldefense.proofpoint.com/v2/url?u=https-
> >3A__www.oasis-2Dopen.org_who_ipr_feedback-
> >5Flicense.pdf&d=DwIFAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=lDHJ2FW52oJ3lqq
> >sArgFRdcevq01tbLQAw4A_NO7xgI&m=lWqsPbOUMgzkEVyF16L3g079hplmK1
> >phL1e6LJfAuy4&s=3slcwaEeqEevZXayoGcRCvapa4lifnZRMDbgpjb9PYI&e= List
> >Guidelines: https://urldefense.proofpoint.com/v2/url?u=https-
> >3A__www.oasis-2Dopen.org_policies-2Dguidelines_mailing-
> >2Dlists&d=DwIFAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=lDHJ2FW52oJ3lqqsArgFR
> >dcevq01tbLQAw4A_NO7xgI&m=lWqsPbOUMgzkEVyF16L3g079hplmK1phL1e6
> >LJfAuy4&s=AVsGR-ggaGUy0qsBz5HWmNguI4IVOHfF2y3TDaIZbXw&e=
> >Committee: https://urldefense.proofpoint.com/v2/url?u=https-
> >3A__www.oasis-
> >2Dopen.org_committees_virtio_&d=DwIFAg&c=nKjWec2b6R0mOyPaz7xtfQ&
> >r=lDHJ2FW52oJ3lqqsArgFRdcevq01tbLQAw4A_NO7xgI&m=lWqsPbOUMgzkEV
> >yF16L3g079hplmK1phL1e6LJfAuy4&s=KbIcN3spGyCBBx1CR4KU94G4XMWnL7
> >Cc1t_iZu12VeQ&e= Join OASIS:
> >https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oasis-
> >2Dopen.org_join_&d=DwIFAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=lDHJ2FW52o
> >J3lqqsArgFRdcevq01tbLQAw4A_NO7xgI&m=lWqsPbOUMgzkEVyF16L3g079hpl
> >mK1phL1e6LJfAuy4&s=IEdPsXzJLvjJuJJ3KfKVQBZvyIOsBC6qKuJQp9evAwM&e
> >=
> 
> 
> 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]