netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kommula Shiva Shankar <kshankar@marvell.com>
To: <netdev@vger.kernel.org>, <mst@redhat.com>, <jasowang@redhat.com>,
	<pabeni@redhat.com>, <xuanzhuo@linux.alibaba.com>
Cc: <virtualization@lists.linux.dev>, <parav@nvidia.com>,
	<jerinj@marvell.com>, <ndabilpuram@marvell.com>,
	<sburla@marvell.com>, <schalla@marvell.com>
Subject: [PATCH v2 net-next  0/3]  virtio_net: Implement VIRTIO_NET_F_OUT_NET_HEADER from virtio spec 1.4
Date: Wed, 8 Oct 2025 16:30:01 +0530	[thread overview]
Message-ID: <20251008110004.2933101-1-kshankar@marvell.com> (raw)

This series implements the VIRTIO_NET_F_OUT_NET_HEADER feature which was introduced in the virtio specification 1.4 recently.
With this change, segmentation offload functionality now propagates outer IP header offset information to the device/apps running on NIC.

The virtio 1.4 spec introduced VIRTIO_NET_F_OUT_NET_HEADER feature[1] to address the performance issue caused by reading packet data
to determine outer network header offset and to support Inline IPSec functionality,
where vendor hardware devices need to know the outer network header offset for Inline IPSec acceleration.

Currently, devices must parse through packet headers to determine the outer network header which impacts performance.
This patch series implements the outer_nh_offset field in virtio_net_hdr to avoid parsing overhead.

This series was tested on ARM platform with virtio-net driver where ~4% performance improvement was measured
for device applications.

V1 -> V2: Added IPv6 support to outer network header offset feature 
	  Fixed sparse build warnings

[1] https://lore.kernel.org/virtio-comment/20250401195655.486230-1-kshankar@marvell.com/

Kommula Shiva Shankar (3):
  net: implement virtio helper to handle outer nw offset
  virtio_net: enable outer nw header offset support
  vhost/net: enable outer nw header offset support

 drivers/net/virtio_net.c        | 23 +++++++++++++++----
 drivers/vhost/net.c             |  4 ++++
 include/linux/virtio_net.h      | 40 +++++++++++++++++++++++++++++++++
 include/uapi/linux/virtio_net.h |  8 +++++++
 4 files changed, 71 insertions(+), 4 deletions(-)

-- 
2.48.1


             reply	other threads:[~2025-10-08 11:00 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-08 11:00 Kommula Shiva Shankar [this message]
2025-10-08 11:00 ` [PATCH v2 net-next 1/3] net: implement virtio helper to handle outer nw offset Kommula Shiva Shankar
2025-10-08 11:00 ` [PATCH v2 net-next 2/3] virtio_net: enable outer nw header offset support Kommula Shiva Shankar
2025-10-08 11:00 ` [PATCH v2 net-next 3/3] vhost/net: " Kommula Shiva Shankar
2025-10-09  9:44   ` Paolo Abeni
2025-10-09 10:31   ` Michael S. Tsirkin
2025-10-08 11:26 ` [PATCH v2 net-next 0/3] virtio_net: Implement VIRTIO_NET_F_OUT_NET_HEADER from virtio spec 1.4 Parav Pandit

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=20251008110004.2933101-1-kshankar@marvell.com \
    --to=kshankar@marvell.com \
    --cc=jasowang@redhat.com \
    --cc=jerinj@marvell.com \
    --cc=mst@redhat.com \
    --cc=ndabilpuram@marvell.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=parav@nvidia.com \
    --cc=sburla@marvell.com \
    --cc=schalla@marvell.com \
    --cc=virtualization@lists.linux.dev \
    --cc=xuanzhuo@linux.alibaba.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;
as well as URLs for NNTP newsgroup(s).