> > > > -----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
signature.asc
Description: PGP signature
