Re: [PATCH bpf-next V2 5/7] net: veth: Read xdp metadata from rx_meta struct if available
From: Jakub Sitnicki <jakub@cloudflare.com>
Date: 2025-07-17 12:11:26
Also in:
bpf
On Wed, Jul 02, 2025 at 04:58 PM +02, Jesper Dangaard Brouer wrote:
From: Lorenzo Bianconi <lorenzo@kernel.org> Report xdp_rx_meta info if available in xdp_buff struct in xdp_metadata_ops callbacks for veth driver Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> --- drivers/net/veth.c | 12 +++++++++++ include/net/xdp.h | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+)
[...]
quoted hunk
diff --git a/include/net/xdp.h b/include/net/xdp.h index 3d1a9711fe82..2b495feedfb0 100644 --- a/include/net/xdp.h +++ b/include/net/xdp.h@@ -158,6 +158,23 @@ static __always_inline bool xdp_buff_has_valid_meta_area(struct xdp_buff *xdp) return !!(xdp->flags & XDP_FLAGS_META_AREA); } +static __always_inline bool +xdp_buff_has_rx_meta_hash(const struct xdp_buff *xdp) +{ + return !!(xdp->flags & XDP_FLAGS_META_RX_HASH); +} + +static __always_inline bool +xdp_buff_has_rx_meta_vlan(const struct xdp_buff *xdp) +{ + return !!(xdp->flags & XDP_FLAGS_META_RX_VLAN); +} + +static __always_inline bool xdp_buff_has_rx_meta_ts(const struct xdp_buff *xdp) +{ + return !!(xdp->flags & XDP_FLAGS_META_RX_TS); +} + static __always_inline void xdp_init_buff(struct xdp_buff *xdp, u32 frame_sz, struct xdp_rxq_info *rxq) {
Nit: Why not have one set of generic helpers (macros) for checking if the flags are set? If you want strict type checking, you can additionally use _Generic type dispatch. [...]