public inbox for virtio-comment@lists.linux.dev
 help / color / mirror / Atom feed
From: Paolo Abeni <pabeni@redhat.com>
To: Parav Pandit <parav@nvidia.com>, "Michael S. Tsirkin" <mst@redhat.com>
Cc: "hengqi@linux.alibaba.com" <hengqi@linux.alibaba.com>,
	"virtio-comment@lists.linux.dev" <virtio-comment@lists.linux.dev>,
	"cohuck@redhat.com" <cohuck@redhat.com>,
	"mvaralar@redhat.com" <mvaralar@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Shahaf Shuler <shahafs@nvidia.com>,
	Willem de Bruijn <willemb@google.com>,
	Daniel Verkamp <dverkamp@chromium.org>
Subject: Re: [PATCH v1] virtio-net: Fix to avoid using reserved feature bits
Date: Tue, 6 May 2025 17:40:17 +0200	[thread overview]
Message-ID: <2c880e08-9d92-45ee-be92-3bfc758e928c@redhat.com> (raw)
In-Reply-To: <CY8PR12MB7195FC058918DCC17E56FF80DC89A@CY8PR12MB7195.namprd12.prod.outlook.com>

On 5/6/25 5:00 PM, Parav Pandit wrote:
>> From: Paolo Abeni <pabeni@redhat.com>
>> Sent: Tuesday, May 6, 2025 8:09 PM
>> On 5/6/25 10:56 AM, Parav Pandit wrote:
>>>> From: Michael S. Tsirkin <mst@redhat.com>
>>>> Sent: Tuesday, May 6, 2025 1:26 PM
>>>>> There are few proposals on table.
>>>>>
>>>>> 1. From Paolo,
>>>>> - 0 to 23, and 50 to 127 Feature bits for the specific device type
>>>>> + 0 to 23, and 46 to 127 Feature bits for the specific device type
>>>>>
>>>>> This does not have good reason of why it should still be 127.
>>>>>
>>>>> 2. From me:
>>>>> - 0 to 23, and 50 to 127 Feature bits for the specific device type
>>>>> + 0 to 23, and 45 to 64 Feature bits for the specific device type
>>>>>
>>>>> This is an extension of Paolo, to justify that implementing feature
>>>>> bits is
>>>> extremely hard even for experts as pointed by Paolo.
>>>>> It is worth to not extend it further.
>>>>> RSS can be negotiated via new bit 44 in future bit as OR of 44 and
>>>>> 64 so that
>>>> more wider users (Linux, freebsd, qnx, Windows, dpdk pmd) can pick 44.
>>>>>
>>>>> 3. From me:
>>>>> Keep the feature bits encoding as is up to 127 bits, because may be
>>>>> there is
>>>> (unknown and weird) value in having 127 feature bits.
>>>>> (unknown because the reasoning of #1 and #3 mismatch).
>>>>> In that case,
>>>>> VIRTIO_NET_CTRL_GUEST_OFFLOADS command text to be updated to
>>>> indicate
>>>>> feature fits A to D map to
>> VIRTIO_NET_F_CTRL_GUEST_OFFLOADS.offloads
>>>> bits A' to D'.
>>>>>
>>>>> I am fine with option #2 and #3.
>>>>> Doing #1 for sure is wrong.
>>>>> Wrong because it delays the problem of #1 from this to another
>>>>> feature [A]
>>>> who's voting already completed.
>>>>>
>>>>> [A]
>>>>> https://lore.kernel.org/virtio-
>>>> comment/DM4PR18MB4269F73B786E83EF68A70F
>>>>> 37DFB82@DM4PR18MB4269.namprd18.prod.outlook.com/T/#t
>>>>
>>>>
>>>> #3 seems more conservate.
>>>
>>> Are you good with #3?
>>
>> I'm sorry for the latency. Let me double check to avoid possible
>> misunderstanding; #3 means:
>>
>> - 0 to 23, and 50 to 127 Feature bits for the specific device type
>> + 0 to 23, and 45 to 127 Feature bits for the specific device type
>>
> No change in above feature bits.
> 
>> using bits 46-39 for UDP tunnel offloads and likely bit 45 for
>> VIRTIO_NET_F_OUT_NET_HEADER.
>>
> This also to use bit 69 as proposed.
>  
>> The VIRTIO_NET_F_CTRL_GUEST_OFFLOADS mapping should be specified
>> after eventually a new offload feature will be defined using a bit >= 64.
>>
> No. UDP tunnel feature bits 65 to 68 maps to command bits 46,47,48,49.
> This is the only description change in VIRTIO_NET_F_CTRL_GUEST_OFFLOADS command.
> Would it work?

AFAICT, yes, it should work.

But it will not avoid the immediate need to expand the virtio features
negotiation above 64 bits, with the already mentioned complexity.

I would preferably avoid that, if possible: I restarted this thread with
such a goal.

Note: the implementation complexity spark from u64 hard-coded
"everywhere" in both the kernel, qemu and the related APIs.

> In fact, this command extension alone would have been sufficient if the vnet_hdr had a fixed size where new fields could be added.

I could not parse this last statement. The virtio_net_hdr size depends
on the negotiated features, and AFAICT  VIRTIO_NET_F_CTRL_GUEST_OFFLOADS
can't replace features negotiation. Could you please rephrase?

Thanks,

Paolo


  reply	other threads:[~2025-05-06 15:40 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-26  6:20 [PATCH v1] virtio-net: Fix to avoid using reserved feature bits Parav Pandit
2025-01-26  9:19 ` Michael S. Tsirkin
2025-01-26 16:44   ` Parav Pandit
2025-01-26 16:50     ` Michael S. Tsirkin
2025-01-27  9:21       ` Cornelia Huck
2025-01-27 12:54         ` Parav Pandit
2025-04-22 17:49 ` Paolo Abeni
2025-04-23  5:46   ` Michael S. Tsirkin
2025-04-23 16:05     ` Paolo Abeni
2025-04-28  9:13       ` Michael S. Tsirkin
2025-04-28 17:07         ` Paolo Abeni
2025-04-28 17:18           ` Michael S. Tsirkin
2025-04-23 16:29     ` Daniel Verkamp
2025-04-23 18:07       ` Michael S. Tsirkin
2025-04-28  8:39         ` Paolo Abeni
2025-04-28  8:47           ` Michael S. Tsirkin
2025-04-29 20:43           ` Michael S. Tsirkin
2025-04-30  4:44             ` Parav Pandit
2025-04-30  5:25               ` Yuri Benditovich
2025-04-30  5:44                 ` Parav Pandit
2025-04-30 10:12               ` Paolo Abeni
2025-04-30 10:54                 ` Parav Pandit
2025-05-01 13:42                   ` Michael S. Tsirkin
2025-05-01 15:57                     ` Paolo Abeni
2025-05-06  6:15                     ` Parav Pandit
2025-05-06  7:56                       ` Michael S. Tsirkin
2025-05-06  8:56                         ` Parav Pandit
2025-05-06 14:38                           ` Paolo Abeni
2025-05-06 15:00                             ` Parav Pandit
2025-05-06 15:40                               ` Paolo Abeni [this message]
2025-05-06 16:20                                 ` Parav Pandit
2025-05-07  9:57                                   ` Paolo Abeni
2025-05-08  6:15                                     ` Michael S. Tsirkin
2025-05-19  8:57                                     ` Paolo Abeni
2025-05-19  9:04                                       ` Parav Pandit
2025-05-19  9:24                                         ` 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=2c880e08-9d92-45ee-be92-3bfc758e928c@redhat.com \
    --to=pabeni@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=dverkamp@chromium.org \
    --cc=hengqi@linux.alibaba.com \
    --cc=jasowang@redhat.com \
    --cc=mst@redhat.com \
    --cc=mvaralar@redhat.com \
    --cc=parav@nvidia.com \
    --cc=shahafs@nvidia.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