All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Abeni <pabeni@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
	Dmitry Fleytman <dmitry.fleytman@gmail.com>,
	Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>,
	Jason Wang <jasowang@redhat.com>,
	Sriram Yagnaraman <sriram.yagnaraman@ericsson.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	Luigi Rizzo <lrizzo@google.com>,
	Giuseppe Lettieri <g.lettieri@iet.unipi.it>,
	Vincenzo Maffione <v.maffione@gmail.com>,
	Eric Blake <eblake@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Lei Yang <leiyang@redhat.com>
Subject: Re: [PATCH v7 00/14] virtio: introduce support for GSO over UDP tunnel
Date: Tue, 30 Sep 2025 16:58:27 +0200	[thread overview]
Message-ID: <d2b413eb-ed0c-46ca-a825-a29cdac9e5f4@redhat.com> (raw)
In-Reply-To: <CAPpAL=y=4=OmyX+L16Kd1a_3LLrRqfWUQxf9O50hm=M6AG=_7w@mail.gmail.com>

Hi Michael,

On Mon, Sep 22, 2025 at 10:21 PM Paolo Abeni <pabeni@redhat.com> wrote:
> Some virtualized deployments use UDP tunnel pervasively and are impacted
> negatively by the lack of GSO support for such kind of traffic in the
> virtual NIC driver.
>
> The virtio_net specification recently introduced support for GSO over
> UDP tunnel, and the kernel side of the implementation has been merged
> into the net-next tree; this series updates the virtio implementation to
> support such a feature.
>
> Currently the qemu virtio support limits the feature space to 64 bits,
> while the virtio specification allows for a larger number of features.
> Specifically the GSO-over-UDP-tunnel-related virtio features use bits
> 65-69; the larger part of this series (patches 4-12) actually deals with
> extending the features space.
>
> The extended features are carried by fixed size uint64_t arrays,
> bringing the current maximum features number to 128.
>
> The patches use some syntactic sugar to try to minimize the otherwise
> very large code churn. Specifically the extended features are boundled
> in an union with 'legacy' features definition, allowing no changes in
> the virtio devices not needing the extended features set.
>
> The actual offload implementation is in patches 13 and 14 and boils down
> to propagating the new offload to the tun devices and the vhost backend.
>
> Patch 1 is a small pre-req refactor that ideally could enter the
> tree separately; it's presented here in the same series to help
> reviewers more easily getting the full picture, patch 2 updates to
> linux headers update script to deal with annotations recently introduce
> in the kernel and patch 3 is a needed linux headers update.
>
> Tested with basic stream transfer with all the possible permutations of
> host kernel/qemu/guest kernel with/without GSO over UDP tunnel support,
> vs snapshots creation and restore and vs migration.
>
> The new features are disabled by default to avoid compatibilty issues.
> They could be enabled with a later patch, together with the related
> compatiblity entries.

I thing this revision should address your feedback, please LMK
otherwise. I'll follow-up with the FEATURE_ENTRY() macro cleanup as soon
as this will get merged!

Thanks,

Paolo



      reply	other threads:[~2025-09-30 14:59 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-22 14:18 [PATCH v7 00/14] virtio: introduce support for GSO over UDP tunnel Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 01/14] net: bundle all offloads in a single struct Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 02/14] linux-headers: deal with counted_by annotation Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 03/14] linux-headers: Update to Linux v6.17-rc1 Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 04/14] virtio: introduce extended features type Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 05/14] virtio: serialize extended features state Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 06/14] virtio: add support for negotiating extended features Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 07/14] virtio-pci: implement support for " Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 08/14] vhost: add support for negotiating " Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 09/14] qmp: update virtio features map to support " Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 10/14] vhost-backend: implement extended features support Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 11/14] vhost-net: " Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 12/14] virtio-net: " Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 13/14] net: implement tunnel probing Paolo Abeni
2025-09-22 14:18 ` [PATCH v7 14/14] net: implement UDP tunnel features offloading Paolo Abeni
2025-09-24  7:46 ` [PATCH v7 00/14] virtio: introduce support for GSO over UDP tunnel Lei Yang
2025-09-30 14:58   ` Paolo Abeni [this message]

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=d2b413eb-ed0c-46ca-a825-a29cdac9e5f4@redhat.com \
    --to=pabeni@redhat.com \
    --cc=armbru@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=dmitry.fleytman@gmail.com \
    --cc=eblake@redhat.com \
    --cc=g.lettieri@iet.unipi.it \
    --cc=jasowang@redhat.com \
    --cc=leiyang@redhat.com \
    --cc=lrizzo@google.com \
    --cc=mst@redhat.com \
    --cc=odaki@rsg.ci.i.u-tokyo.ac.jp \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sgarzare@redhat.com \
    --cc=sriram.yagnaraman@ericsson.com \
    --cc=v.maffione@gmail.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 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.