From: "Björn Töpel" <bjorn@kernel.org>
To: Maciej Fijalkowski <maciej.fijalkowski@intel.com>,
netdev@vger.kernel.org
Cc: bpf@vger.kernel.org, magnus.karlsson@intel.com,
stfomichev@gmail.com, kuba@kernel.org, pabeni@redhat.com,
horms@kernel.org, lorenzo@kernel.org, hawk@kernel.org,
toke@redhat.com,
Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Subject: Re: [PATCH RFC net-next 4/4] veth: use generic skb XDP handling
Date: Tue, 12 May 2026 16:32:43 +0200 [thread overview]
Message-ID: <878q9ok8ac.fsf@all.your.base.are.belong.to.us> (raw)
In-Reply-To: <20260509084858.773921-5-maciej.fijalkowski@intel.com>
Maciej Fijalkowski <maciej.fijalkowski@intel.com> writes:
> veth currently runs XDP for skb-backed packets by constructing an
> xdp_buff and then, for XDP_TX and XDP_REDIRECT, converting that
> skb-backed xdp_buff into an xdp_frame. The backing memory is still
> skb-owned, so veth has to pin the skb data and frags manually before
> consuming the skb.
>
> Use the generic skb XDP helper for skb-backed packets instead. This
> keeps skb-backed packets on the skb generic XDP path: XDP_REDIRECT uses
> xdp_do_generic_redirect() and XDP_TX uses generic_xdp_tx(). Packets that
> already arrive as xdp_frames keep using the existing veth xdp_frame path.
>
> veth still provides its own page_pool and xdp_rxq_info through struct
> xdp_generic_ctx. It also keeps using struct veth_xdp_buff storage so
> metadata kfuncs that need the skb continue to work after a possible skb
> COW.
Hmm, so now if veth with native XDP redirects to a native XDP NIC, we'll
end up in the generic path? We'll loose some bulking capabilities as
well, but maybe that's OK.
I guess what I'm saying is that some performance numbers would help
here! ;-)
(I think it might be some accounting bug as well, but I need to re-read
it!)
Björn
next prev parent reply other threads:[~2026-05-12 14:32 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-09 8:48 [PATCH RFC net-next 0/4] xdp: reuse generic skb XDP handling for veth Maciej Fijalkowski
2026-05-09 8:48 ` [PATCH RFC net-next 1/4] xdp: add mixed page_pool/page_shared memory type Maciej Fijalkowski
2026-05-09 8:48 ` [PATCH RFC net-next 2/4] xdp: return status from generic_xdp_tx() Maciej Fijalkowski
2026-05-12 12:57 ` Björn Töpel
2026-05-12 17:13 ` Maciej Fijalkowski
2026-05-09 8:48 ` [PATCH RFC net-next 3/4] xdp: split generic XDP skb handling Maciej Fijalkowski
2026-05-09 8:48 ` [PATCH RFC net-next 4/4] veth: use generic skb XDP handling Maciej Fijalkowski
2026-05-12 14:32 ` Björn Töpel [this message]
2026-05-12 17:06 ` Maciej Fijalkowski
2026-05-13 11:31 ` Björn Töpel
2026-05-12 12:55 ` [PATCH RFC net-next 0/4] xdp: reuse generic skb XDP handling for veth Björn Töpel
2026-05-12 17:12 ` Maciej Fijalkowski
2026-05-14 5:13 ` Jesper Dangaard Brouer
2026-05-15 0:54 ` Jakub Kicinski
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=878q9ok8ac.fsf@all.your.base.are.belong.to.us \
--to=bjorn@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=hawk@kernel.org \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=lorenzo@kernel.org \
--cc=maciej.fijalkowski@intel.com \
--cc=magnus.karlsson@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=stfomichev@gmail.com \
--cc=toke@redhat.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.