All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.