public inbox for virtio-comment@lists.linux.dev
 help / color / mirror / Atom feed
From: Paolo Abeni <pabeni@redhat.com>
To: virtio-comment@lists.linux.dev
Cc: 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
Subject: [PATCH v11 0/4] virtio-net: define UDP tunnel offload
Date: Wed, 27 Nov 2024 10:36:39 +0100	[thread overview]
Message-ID: <cover.1732699986.git.pabeni@redhat.com> (raw)

UDP tunnel usage is ubiquitous in container deployment, and the ability
to offload UDP encapsulated GSO traffic impacts greatly the performances
and the CPU utilization of such use cases.

This series includes:
- clarifications on the current semantic of NEEDS_CSUM offload
(patch 1) and DATA_VALID offload (patch 2) to make later changes easier
to follow,
- new features definition to handle both UDP tunnel segmentation
offload (patch 3).
- new features definition to handle UDP tunnel outer checksum offload
(patch 4).

A PoC implementation is available here:

https://github.com/pabeni/linux-devel/commits/virtio_tunnel_gso_v10/
https://github.com/pabeni/qemu/tree/virtio_tunnel_gso_v9

Note that both implementations has not been updated since the previous
iteration, since there are no additional functional changes in v11.

Changes from v10:
- added patch 2
- clarified only a single encapsulation level is supported (patch 3)
- s/TCP or UDP GSO packets/GSO packets/ (patch 3)
- 'to the outer UDP pseudo header' -> 'to the outer UDP pseudo header
  checksum' (patch 4)
https://lore.kernel.org/virtio-comment/cover.1731084277.git.pabeni@redhat.com/

Changes from v9:
- added patch 1
- clarified that 'hdr_len' accounts for the inner header for GSO over
UDP tunnel packets
- DATA_VALID is not be allowed for GSO over UDP tunnel packets.
https://lore.kernel.org/virtio-comment/cover.1728029499.git.pabeni@redhat.com/

Changes from v8:
- rebased on top of virtio-1.4, changed udp-tunnel features number
  to avoid conflicts/duplications
- Clarified the usage of DATA_VALID flag with UDP tunneled GSO packets
- mandate strict hdr validation on the rx side, too - for UDP tunneled
  GSO packets only
https://lore.kernel.org/virtio-comment/cover.1725463935.git.pabeni@redhat.com/

Changes from v7:
- minor cleanup in patch 1/2
- dropped confusing wording about csum validation in patch 2/2

Changes from v6:
- replaced inner_protocol_type with
  VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV{4,6}
- many clarifications and cleanup, see the individual patches changelog
  for the details

Changes from v5:
- split in 2 patches
- dropped outer_mh_offset field
- many csum related clarification
---
Paolo Abeni (4):
  virtio-net: clarify NEEDS_CSUM semantic for GSO packats.
  virtio-net: clarify DATA_VALID  semantic for encap protos.
  virtio-net: define UDP tunnel segmentation offload feature
  virtio-net: define UDP tunnel checksum offload feature

 device-types/net/description.tex | 355 ++++++++++++++++++++++++++++++-
 1 file changed, 345 insertions(+), 10 deletions(-)

-- 
2.45.2


             reply	other threads:[~2024-11-27  9:36 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-27  9:36 Paolo Abeni [this message]
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
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=cover.1732699986.git.pabeni@redhat.com \
    --to=pabeni@redhat.com \
    --cc=echaudro@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=kshankar@marvell.com \
    --cc=maxime.coquelin@redhat.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