* [virtio-comment] [PATCH] Fix virtio_net_hdr struct size when VIRTIO_NET_F_HASH_REPORT is negociated.
@ 2022-08-25 12:18 Cyril Germond
2022-08-29 10:33 ` Cornelia Huck
0 siblings, 1 reply; 4+ messages in thread
From: Cyril Germond @ 2022-08-25 12:18 UTC (permalink / raw)
To: virtio-comment; +Cc: Cyril Germond
Hard-coded references to the size of virtio_net_hdr strut are wrong when
VIRTIO_NET_HASH_REPORT feature is negociated.
Signed-off-by: Cyril Germond <cgermond@kalray.eu>
---
content.tex | 3 +--
split-ring.tex | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/content.tex b/content.tex
index e863709..b900f35 100644
--- a/content.tex
+++ b/content.tex
@@ -3620,8 +3620,7 @@ \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 feature negotiation) is prepended to this.
\drivernormative{\paragraph}{Setting Up Receive Buffers}{Device Types / Network Device / Device Operation / Setting Up Receive Buffers}
diff --git a/split-ring.tex b/split-ring.tex
index de94038..9487918 100644
--- a/split-ring.tex
+++ b/split-ring.tex
@@ -127,7 +127,7 @@ \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
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/
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [virtio-comment] [PATCH] Fix virtio_net_hdr struct size when VIRTIO_NET_F_HASH_REPORT is negociated.
2022-08-25 12:18 [virtio-comment] [PATCH] Fix virtio_net_hdr struct size when VIRTIO_NET_F_HASH_REPORT is negociated Cyril Germond
@ 2022-08-29 10:33 ` Cornelia Huck
2022-08-30 10:08 ` Cyril Germond
0 siblings, 1 reply; 4+ messages in thread
From: Cornelia Huck @ 2022-08-29 10:33 UTC (permalink / raw)
To: Cyril Germond, virtio-comment; +Cc: Cyril Germond
On Thu, Aug 25 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 negociated.
s/negociated/negotiated/ (here and in the subject)
Also, please keep an empty line before the s-o-b.
> Signed-off-by: Cyril Germond <cgermond@kalray.eu>
> ---
> content.tex | 3 +--
> split-ring.tex | 2 +-
> 2 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/content.tex b/content.tex
> index e863709..b900f35 100644
> --- a/content.tex
> +++ b/content.tex
> @@ -3620,8 +3620,7 @@ \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 feature negotiation) is prepended to this.
The normative statement right below also cites the 65562/1526 numbers; I
assume that we want to adjust them as well? In that case, I don't think
we can get around mentioning concrete numbers for all four cases
(with/without offloads x with/without HASH_REPORT).
Any other opinions?
>
> \drivernormative{\paragraph}{Setting Up Receive Buffers}{Device Types / Network Device / Device Operation / Setting Up Receive Buffers}
>
> diff --git a/split-ring.tex b/split-ring.tex
> index de94038..9487918 100644
> --- a/split-ring.tex
> +++ b/split-ring.tex
> @@ -127,7 +127,7 @@ \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
This looks good, but personally I'd prefer to keep more-or-less to the
existing line length, even though that doesn't affect the generated
document.
> 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,
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/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [virtio-comment] [PATCH] Fix virtio_net_hdr struct size when VIRTIO_NET_F_HASH_REPORT is negociated.
2022-08-29 10:33 ` Cornelia Huck
@ 2022-08-30 10:08 ` Cyril Germond
2022-08-30 11:07 ` Cornelia Huck
0 siblings, 1 reply; 4+ messages in thread
From: Cyril Germond @ 2022-08-30 10:08 UTC (permalink / raw)
To: Cornelia Huck; +Cc: virtio-comment
----- Original Message -----
> From: "Cornelia Huck" <cohuck@redhat.com>
> To: "cgermond" <cgermond@kalray.eu>, "virtio-comment" <virtio-comment@lists.oasis-open.org>
> Cc: "cgermond" <cgermond@kalray.eu>
> Sent: Monday, August 29, 2022 12:33:04 PM
> Subject: Re: [virtio-comment] [PATCH] Fix virtio_net_hdr struct size when VIRTIO_NET_F_HASH_REPORT is negociated.
> On Thu, Aug 25 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 negociated.
>
> s/negociated/negotiated/ (here and in the subject)
>
Agree
> Also, please keep an empty line before the s-o-b.
>
OK
>> Signed-off-by: Cyril Germond <cgermond@kalray.eu>
>> ---
>> content.tex | 3 +--
>> split-ring.tex | 2 +-
>> 2 files changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/content.tex b/content.tex
>> index e863709..b900f35 100644
>> --- a/content.tex
>> +++ b/content.tex
>> @@ -3620,8 +3620,7 @@ \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 feature negotiation) is prepended to this.
>
> The normative statement right below also cites the 65562/1526 numbers; I
> assume that we want to adjust them as well? In that case, I don't think
> we can get around mentioning concrete numbers for all four cases
> (with/without offloads x with/without HASH_REPORT).
>
> Any other opinions?
I agree this parts needs update. Amongst the 3 alternate proposals for updating the normative statements of 5.1.6.3.1 (in the case VIRTIO_NET_F_MRG_RXBUF is not negotiated), which one would suit better (or eventually another one) ?
1/
-If VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6 or VIRTIO_NET_F_GUEST_UFO are negotiated, the driver SHOULD populate the receive queue(s) with buffers of at least 65570 bytes if VIRTIO_NET_F_HASH_REPORT is negotiated, 65562 bytes otherwise.
– Otherwise, the driver SHOULD populate the receive queue(s) with buffers of at least 1534 bytes if VIRTIO_NET_F_HASH_REPORT is negotiated, 1526 bytes otherwise.
2/
-If VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6 or VIRTIO_NET_F_GUEST_UFO are negotiated, the driver SHOULD populate the receive queue(s) with buffers of at least :
- 65570 bytes if VIRTIO_NET_F_HASH_REPORT is negotiated
- 65562 bytes otherwise.
– Otherwise, the driver SHOULD populate the receive queue(s) with buffers of at least
- 1534 bytes if VIRTIO_NET_F_HASH_REPORT is negotiated
- 1526 bytes otherwise.
3/
– If VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6 or VIRTIO_NET_F_GUEST_UFO are negotiated, the driver SHOULD populate the receive queue(s) with buffers of at least 65550 bytes plus the size of the struct virtio_net_hdr.
– Otherwise, the driver SHOULD populate the receive queue(s) with buffers of at least 1514 bytes plus the size of the struct virtio_net_hdr.
>
>>
>> \drivernormative{\paragraph}{Setting Up Receive Buffers}{Device Types / Network
>> Device / Device Operation / Setting Up Receive Buffers}
>>
>> diff --git a/split-ring.tex b/split-ring.tex
>> index de94038..9487918 100644
>> --- a/split-ring.tex
>> +++ b/split-ring.tex
>> @@ -127,7 +127,7 @@ \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
>
> This looks good, but personally I'd prefer to keep more-or-less to the
> existing line length, even though that doesn't affect the generated
> document.
>
OK
>> 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,
>
>
> 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/
>
>
>
> To declare a filtering error, please use the following link :
> https://www.security-mail.net/reporter.php?mid=1682.630c95e7.12a14.0&r=cgermond%40kalray.eu&s=virtio-comment-return-3416-cgermond%3Dkalray.eu%40lists.oasis-open.org&o=Re%3A+%5Bvirtio-comment%5D+%5BPATCH%5D+Fix+virtio_net_hdr+struct+size+when+VIRTIO_NET_F_HASH_REPORT+is+negociated.&verdict=C&c=202f75f2c0c528203a5d4ddf74c13752d049a85d
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [virtio-comment] [PATCH] Fix virtio_net_hdr struct size when VIRTIO_NET_F_HASH_REPORT is negociated.
2022-08-30 10:08 ` Cyril Germond
@ 2022-08-30 11:07 ` Cornelia Huck
0 siblings, 0 replies; 4+ messages in thread
From: Cornelia Huck @ 2022-08-30 11:07 UTC (permalink / raw)
To: Cyril Germond; +Cc: virtio-comment
On Tue, Aug 30 2022, Cyril Germond <cgermond@kalray.eu> wrote:
>>> diff --git a/content.tex b/content.tex
>>> index e863709..b900f35 100644
>>> --- a/content.tex
>>> +++ b/content.tex
>>> @@ -3620,8 +3620,7 @@ \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 feature negotiation) is prepended to this.
>>
>> The normative statement right below also cites the 65562/1526 numbers; I
>> assume that we want to adjust them as well? In that case, I don't think
>> we can get around mentioning concrete numbers for all four cases
>> (with/without offloads x with/without HASH_REPORT).
>>
>> Any other opinions?
> I agree this parts needs update. Amongst the 3 alternate proposals for updating the normative statements of 5.1.6.3.1 (in the case VIRTIO_NET_F_MRG_RXBUF is not negotiated), which one would suit better (or eventually another one) ?
>
> 1/
> -If VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6 or VIRTIO_NET_F_GUEST_UFO are negotiated, the driver SHOULD populate the receive queue(s) with buffers of at least 65570 bytes if VIRTIO_NET_F_HASH_REPORT is negotiated, 65562 bytes otherwise.
> – Otherwise, the driver SHOULD populate the receive queue(s) with buffers of at least 1534 bytes if VIRTIO_NET_F_HASH_REPORT is negotiated, 1526 bytes otherwise.
>
> 2/
> -If VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6 or VIRTIO_NET_F_GUEST_UFO are negotiated, the driver SHOULD populate the receive queue(s) with buffers of at least :
> - 65570 bytes if VIRTIO_NET_F_HASH_REPORT is negotiated
> - 65562 bytes otherwise.
> – Otherwise, the driver SHOULD populate the receive queue(s) with buffers of at least
> - 1534 bytes if VIRTIO_NET_F_HASH_REPORT is negotiated
> - 1526 bytes otherwise.
>
> 3/
> – If VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6 or VIRTIO_NET_F_GUEST_UFO are negotiated, the driver SHOULD populate the receive queue(s) with buffers of at least 65550 bytes plus the size of the struct virtio_net_hdr.
> – Otherwise, the driver SHOULD populate the receive queue(s) with buffers of at least 1514 bytes plus the size of the struct virtio_net_hdr.
I'd probably go with option 1, if we do not expect more
header-size-changing features in the foreseeable future, option 2
otherwise (IMHO, 1 is easier to read, while 2 is easier to extend.)
I'll let the virtio-net folks decide on that one.
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/
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-08-30 11:07 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-25 12:18 [virtio-comment] [PATCH] Fix virtio_net_hdr struct size when VIRTIO_NET_F_HASH_REPORT is negociated Cyril Germond
2022-08-29 10:33 ` Cornelia Huck
2022-08-30 10:08 ` Cyril Germond
2022-08-30 11:07 ` Cornelia Huck
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.