Re: [PATCH net-next 2/4] bnxt_en: Implement XDP RSS hash metadata extraction

From: Joe Damato

Date: Fri Feb 27 2026 - 14:06:58 EST


On Fri, Feb 27, 2026 at 11:40:18AM -0600, Chris J Arges wrote:
> Add support for extracting RSS hash values and hash types from hardware
> completion descriptors in XDP programs for bnxt_en.
>
> Add IP_TYPE definition for determining if completion is ipv4 or ipv6. In
> addition add ITYPE_ICMP flag for identifying ICMP completions.
>
> Signed-off-by: Chris J Arges <carges@xxxxxxxxxxxxxx>
> ---
> drivers/net/ethernet/broadcom/bnxt/bnxt.c | 5 ++
> drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 +
> drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 47 +++++++++++++++++++
> drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h | 3 ++
> 4 files changed, 57 insertions(+)

[...]

> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
> index 85cbeb35681c..f75060374163 100644
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
> @@ -472,3 +472,50 @@ bnxt_xdp_build_skb(struct bnxt *bp, struct sk_buff *skb, u8 num_frags,
> xdp_buff_get_skb_flags(xdp));
> return skb;
> }
> +
> +int bnxt_xdp_rx_hash(const struct xdp_md *ctx, u32 *hash,
> + enum xdp_rss_hash_type *rss_type)
> +{
> + const struct bnxt_xdp_buff *xdp = (void *)ctx;
> + const struct rx_cmp *rxcmp = xdp->rxcmp;
> + const struct rx_cmp_ext *rxcmp1 = xdp->rxcmp1;
> + u32 itypes;
> + enum xdp_rss_hash_type hash_type = 0;

Nit: This may need to be put into RCT style. (?)

Everything else seemed OK to me...

Reviewed-by: Joe Damato <joe@xxxxxxx>