From: Paolo Abeni <pabeni@redhat.com>
To: Parav Pandit <parav@nvidia.com>,
Cornelia Huck <cohuck@redhat.com>,
"virtio-comment@lists.linux.dev" <virtio-comment@lists.linux.dev>
Cc: "maxime.coquelin@redhat.com" <maxime.coquelin@redhat.com>,
Eelco Chaudron <echaudro@redhat.com>,
Jason Wang <jasowang@redhat.com>,
Stefano Garzarella <sgarzare@redhat.com>,
Willem de Bruijn <willemb@google.com>,
"kshankar@marvell.com" <kshankar@marvell.com>
Subject: Re: [PATCH v11 3/4] virtio-net: define UDP tunnel segmentation offload feature
Date: Wed, 22 Jan 2025 15:43:12 +0100 [thread overview]
Message-ID: <3f501db8-40fc-414c-adbe-afb0ec2ba412@redhat.com> (raw)
In-Reply-To: <CY8PR12MB719551BDC4C7500B346A27F2DCE62@CY8PR12MB7195.namprd12.prod.outlook.com>
On 1/21/25 8:38 PM, Parav Pandit wrote:
>> From: Paolo Abeni <pabeni@redhat.com>
>> Sent: Wednesday, January 22, 2025 12:10 AM
>>
>> On 1/20/25 3:19 PM, Parav Pandit wrote:
>>>
>>>> From: Cornelia Huck <cohuck@redhat.com>
>>>> Sent: Monday, January 20, 2025 5:50 PM
>>>>
>>>> On Mon, Jan 20 2025, Parav Pandit <parav@nvidia.com> wrote:
>>>>
>>>>>> From: Cornelia Huck <cohuck@redhat.com>
>>>>>> Sent: Monday, January 20, 2025 2:34 PM
>>>>>>
>>>>>> On Sun, Jan 19 2025, Parav Pandit <parav@nvidia.com> wrote:
>>>>>>
>>>>>>> Hi Paolo, Michael,
>>>>>>>
>>>>>>>> From: Paolo Abeni <pabeni@redhat.com>
>>>>>>>> Sent: Wednesday, November 27, 2024 3:07 PM
>>>>>>>>
>>>>>>>>
>>>>>>>> +\item[VIRTIO_NET_F_GUEST_UDP_TUNNEL_GSO (46)] Driver can
>>>> receive
>>>>>>>> GSO
>>>>>>>> +packets
>>>>>>>> + carried by a UDP tunnel.
>>>>>>>> +
>>>>>>>> +\item[VIRTIO_NET_F_HOST_UDP_TUNNEL_GSO (48)] Device can
>>>> receive
>>>>>>>> GSO
>>>>>>>> +packets
>>>>>>>> + carried by a UDP tunnel.
>>>>>>>
>>>>>>> Feature bits 42 to 49 are not applicable to device specific type.
>>>>>>> They are
>>>>>> reserved.
>>>>>>> Please see the note.
>>>>>>>
>>>>>>> Current spec description is:
>>>>>>>
>>>>>>> 0 to 23, and 50 to 127 Feature bits for the specific device type
>>>>>>> 24 to 41 Feature bits reserved for extensions to the queue and
>>>>>>> feature negotiation mechanisms, see 6
>>>>>>> 42 to 49, and 128 and above Feature bits reserved for future
>> extensions.
>>>>>>>
>>>>>>> So 2 bits of these patch and of patch 4, 46 to 49 to be shifted to
>>>>>>> bits 65 to
>>>>>> 68.
>>>>>>>
>>>>>>> Or an alternative would be to amend,
>>>>>>>
>>>>>>> Bits 46 to 127 for specific device type, And 42 to 45 and 128
>>>>>>> reserved for future extensions.
>>>>>>>
>>>>>>> Michael,
>>>>>>> Please let me know so that I can have the follow up patch to this
>>>>>>> one as
>>>>>> voting is started.
>>>>>>> And the fix is required for it.
>>>>>>>
>>>>>>> Is there any historic reason for 42-49 as reserved, or it can be
>>>>>>> used as
>>>>>> proposed in this patch?
>>>>>>> If it was only kept as elastic buffer for device generic, and
>>>>>>> device type to
>>>>>> grow it is probably ok.
>>>>>>> Using 46 to 49 has small advantage to reuse in the offloads bit as
>> below.
>>>>>>> Please confirm.
>>>>>>
>>>>>> See the reasoning given in 88895f56e642 ("Reserve more feature bits
>>>>>> for device type usage") -- the idea was to push out the point in
>>>>>> time when generic feature bits will have to be in the bit area beyond
>> 63.
>>>>>> Given that we only used one of those generic bits in the meantime,
>>>>>> I assume it will still be some time before we run out of bits, even
>>>>>> if we let the net driver grab some bits there. Still, I'd probably
>>>>>> prefer that the
>>>> net device used different bits.
>>>>>> [And issues like this are easy to miss during review
>>>>>> unfortunately.]
>>>>>>
>>>>> I made assumption that one would have picked the device specific rage.
>>>>> I missed to detect this early enough, my bad. :(
>>>>>
>>>>> Given that we are only left with 4 bits in range 42 to 45, at
>>>>> generic level, it
>>>> seems wise for device-type to consume feature bits in its defined range.
>>>>> For virtio-net, bits 65 and higher are preferred.
>>>>>
>>>>>> However, if the device was to use different bits, the clean
>>>>>> solution would be to withdraw, respin, and revote. If we only
>>>>>> changed the reserved ranges, we'd be fine with a change on top, so
>>>>>> that would be less hassle in the short team. If we decide that we
>>>>>> can live with the smaller feature bit space below 63, I'd be fine with
>> that solution.
>>>>>>
>>>>>
>>>>> I am fine either way to merge this and fix immediately for using
>>>>> bits 65 and
>>>> higher.
>>>>> My preference is to use bits 65 and higher.
>>>>>
>>>>> Or as you suggested to respin and revote right away to forward with bit
>> 65.
>>>>>
>>>>> Please let me know.
>>>>
>>>> Personally, I'd prefer to handle this in an "atomic" manner, i.e.
>>>> making sure that no version ever has the wrong bit numbers... maybe
>>>> if you did a fixup patch that changes the numbers, and commit these
>>>> patches + the fixup all at once? Less churn than doing the respin and
>> revote dance.
>>>>
>>> Here it is.
>>> https://lore.kernel.org/virtio-comment/20250120141052.877355-1-
>> parav@n
>>> vidia.com/T/#u
>>>
>>> Do we need to open a new voting request for it? yes?
>>
>> I'm sorry for the latency.
>>
>> Please be aware that VIRTIO_NET_F_GUEST_UDP_TUNNEL_GSO and
>> VIRTIO_NET_F_GUEST_UDP_TUNNEL_GSO_CSUM values are reported a 2nd
>> time in the "Offloads State Configuration" paragraph. I guess even such chunk
>> will need patching.
>>
>> /P
> Ok. will fix and open github issue so that we can merge both the primary and fixes patches in one go after both the votings are done.
Thanks!
Please consider my reply as a formal ack to such change just in case
it's needed by the process.
/P
next prev parent reply other threads:[~2025-01-22 14:43 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-27 9:36 [PATCH v11 0/4] virtio-net: define UDP tunnel offload Paolo Abeni
2024-11-27 9:36 ` [PATCH v11 1/4] virtio-net: clarify NEEDS_CSUM semantic for GSO packats Paolo Abeni
2024-11-28 3:00 ` Jason Wang
2025-01-19 7:56 ` Parav Pandit
2024-11-27 9:36 ` [PATCH v11 2/4] virtio-net: clarify DATA_VALID semantic for encap protos Paolo Abeni
2024-11-28 3:01 ` Jason Wang
2025-01-19 7:57 ` Parav Pandit
2024-11-27 9:36 ` [PATCH v11 3/4] virtio-net: define UDP tunnel segmentation offload feature Paolo Abeni
2024-11-28 3:01 ` Jason Wang
2025-01-19 8:06 ` Parav Pandit
2025-01-20 8:44 ` Paolo Abeni
2025-01-20 8:57 ` Parav Pandit
2025-01-20 9:03 ` Cornelia Huck
2025-01-20 11:32 ` Parav Pandit
2025-01-20 12:20 ` Cornelia Huck
2025-01-20 14:19 ` Parav Pandit
2025-01-20 14:50 ` Cornelia Huck
2025-01-21 18:40 ` Paolo Abeni
2025-01-21 19:38 ` Parav Pandit
2025-01-22 14:43 ` Paolo Abeni [this message]
2025-01-26 6:24 ` Parav Pandit
2024-11-27 9:36 ` [PATCH v11 4/4] virtio-net: define UDP tunnel checksum " Paolo Abeni
2024-11-28 3:01 ` Jason Wang
2024-11-27 9:48 ` [PATCH v11 0/4] virtio-net: define UDP tunnel offload Paolo Abeni
2025-01-14 15:04 ` Paolo Abeni
2025-01-14 15:16 ` Michael S. Tsirkin
2025-01-14 15:57 ` Paolo Abeni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3f501db8-40fc-414c-adbe-afb0ec2ba412@redhat.com \
--to=pabeni@redhat.com \
--cc=cohuck@redhat.com \
--cc=echaudro@redhat.com \
--cc=jasowang@redhat.com \
--cc=kshankar@marvell.com \
--cc=maxime.coquelin@redhat.com \
--cc=parav@nvidia.com \
--cc=sgarzare@redhat.com \
--cc=virtio-comment@lists.linux.dev \
--cc=willemb@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox