[Intel-wired-lan] [PATCH bpf-next 2/5] net: veth: Add xmo_rx_checksum callback to veth driver
Lorenzo Bianconi
lorenzo at kernel.org
Fri Feb 13 15:22:03 UTC 2026
>
>
> > -----Original Message-----
> > From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf
> > Of Lorenzo Bianconi
> > Sent: Tuesday, February 10, 2026 6:22 PM
> > To: Donald Hunter <donald.hunter at gmail.com>; Jakub Kicinski
> > <kuba at kernel.org>; David S. Miller <davem at davemloft.net>; Eric Dumazet
> > <edumazet at google.com>; Paolo Abeni <pabeni at redhat.com>; Simon Horman
> > <horms at kernel.org>; Alexei Starovoitov <ast at kernel.org>; Daniel
> > Borkmann <daniel at iogearbox.net>; Jesper Dangaard Brouer
> > <hawk at kernel.org>; John Fastabend <john.fastabend at gmail.com>;
> > Stanislav Fomichev <sdf at fomichev.me>; Andrew Lunn
> > <andrew+netdev at lunn.ch>; Nguyen, Anthony L
> > <anthony.l.nguyen at intel.com>; Kitszel, Przemyslaw
> > <przemyslaw.kitszel at intel.com>; Lobakin, Aleksander
> > <aleksander.lobakin at intel.com>; Andrii Nakryiko <andrii at kernel.org>;
> > Martin KaFai Lau <martin.lau at linux.dev>; Eduard Zingerman
> > <eddyz87 at gmail.com>; Song Liu <song at kernel.org>; Yonghong Song
> > <yonghong.song at linux.dev>; KP Singh <kpsingh at kernel.org>; Hao Luo
> > <haoluo at google.com>; Jiri Olsa <jolsa at kernel.org>; Shuah Khan
> > <shuah at kernel.org>; Fijalkowski, Maciej <maciej.fijalkowski at intel.com>
> > Cc: Jakub Sitnicki <jakub at cloudflare.com>; netdev at vger.kernel.org;
> > bpf at vger.kernel.org; intel-wired-lan at lists.osuosl.org; linux-
> > kselftest at vger.kernel.org; Lorenzo Bianconi <lorenzo at kernel.org>
> > Subject: [Intel-wired-lan] [PATCH bpf-next 2/5] net: veth: Add
> > xmo_rx_checksum callback to veth driver
> >
> > Implement xmo_rx_checksum callback in veth driver to report RX
> > checksum result to the eBPF program bounded to the veth device.
> >
> > Signed-off-by: Lorenzo Bianconi <lorenzo at kernel.org>
> > ---
> > drivers/net/veth.c | 20 ++++++++++++++++++++
> > 1 file changed, 20 insertions(+)
> >
> > diff --git a/drivers/net/veth.c b/drivers/net/veth.c index
> > 14e6f2a2fb7783334d8f6afd54e658cf9a0e6f3d..38b70ad62db7e92cccc6c6c9ed1f
> > 5573d8baf48b 100644
> > --- a/drivers/net/veth.c
> > +++ b/drivers/net/veth.c
> > @@ -1693,6 +1693,25 @@ static int veth_xdp_rx_vlan_tag(const struct
> > xdp_md *ctx, __be16 *vlan_proto,
> > return err;
> > }
> >
> > +static int veth_xdp_rx_checksum(const struct xdp_md *ctx,
> > + enum xdp_checksum *ip_summed,
> > + u32 *cksum_meta)
> > +{
> > + const struct veth_xdp_buff *_ctx = (void *)ctx;
> > + const struct sk_buff *skb = _ctx->skb;
> > +
> > + if (!skb)
> > + return -ENODATA;
> > +
> > + /* For locally generated packets ip_summed is set to
> > + * CHECKSUM_PARTIAL.
> > + */
> > + *ip_summed = skb->ip_summed;
> > + *cksum_meta = 0;
> > +
> > + return 0;
> > +}
> > +
> > static const struct net_device_ops veth_netdev_ops = {
> > .ndo_init = veth_dev_init,
> > .ndo_open = veth_open,
> > @@ -1718,6 +1737,7 @@ static const struct xdp_metadata_ops
> > veth_xdp_metadata_ops = {
> > .xmo_rx_timestamp = veth_xdp_rx_timestamp,
> > .xmo_rx_hash = veth_xdp_rx_hash,
> > .xmo_rx_vlan_tag = veth_xdp_rx_vlan_tag,
> > + .xmo_rx_checksum = veth_xdp_rx_checksum,
> > };
> >
> > #define VETH_FEATURES (NETIF_F_SG | NETIF_F_FRAGLIST |
> > NETIF_F_HW_CSUM | \
> >
> > --
> > 2.53.0
>
> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov at intel.com>
@Aleksandr: veth implementation is quite different in v2 so I will
remove your Reviewed-by tag.
Can you please take a look to the new version when you have some free cycles?
Thanks in advance.
Regards,
Lorenzo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20260213/71086046/attachment.sig>
More information about the Intel-wired-lan
mailing list