> 
> 
> > -----Original Message-----
> > From: Intel-wired-lan <[email protected]> On Behalf
> > Of Lorenzo Bianconi
> > Sent: Tuesday, February 10, 2026 6:22 PM
> > To: Donald Hunter <[email protected]>; Jakub Kicinski
> > <[email protected]>; David S. Miller <[email protected]>; Eric Dumazet
> > <[email protected]>; Paolo Abeni <[email protected]>; Simon Horman
> > <[email protected]>; Alexei Starovoitov <[email protected]>; Daniel
> > Borkmann <[email protected]>; Jesper Dangaard Brouer
> > <[email protected]>; John Fastabend <[email protected]>;
> > Stanislav Fomichev <[email protected]>; Andrew Lunn
> > <[email protected]>; Nguyen, Anthony L
> > <[email protected]>; Kitszel, Przemyslaw
> > <[email protected]>; Lobakin, Aleksander
> > <[email protected]>; Andrii Nakryiko <[email protected]>;
> > Martin KaFai Lau <[email protected]>; Eduard Zingerman
> > <[email protected]>; Song Liu <[email protected]>; Yonghong Song
> > <[email protected]>; KP Singh <[email protected]>; Hao Luo
> > <[email protected]>; Jiri Olsa <[email protected]>; Shuah Khan
> > <[email protected]>; Fijalkowski, Maciej <[email protected]>
> > Cc: Jakub Sitnicki <[email protected]>; [email protected];
> > [email protected]; [email protected]; linux-
> > [email protected]; Lorenzo Bianconi <[email protected]>
> > 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 <[email protected]>
> > ---
> >  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 <[email protected]>

@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

Attachment: signature.asc
Description: PGP signature

Reply via email to