mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 08:33:17 +02:00
bnxt_en: Implement XDP RSS hash metadata extraction for V3_CMP
This adds another conditional when cmp_type is CMP_TYPE_RX_L2_V3_CMP for drivers that support this completion format. This re-uses bnxt_rss_ext_op to provide similar functionality. One limitation is for L4 hash-types, protocol-specific bits can't be determined. Reviewed-by: Joe Damato <joe@dama.to> Signed-off-by: Chris J Arges <carges@cloudflare.com> Link: https://patch.msgid.link/20260325201139.2501937-5-carges@cloudflare.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
4a037aeb6b
commit
5ec22d5f2a
|
|
@ -514,6 +514,16 @@ int bnxt_xdp_rx_hash(const struct xdp_md *ctx, u32 *hash,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
} else if (xdp->cmp_type == CMP_TYPE_RX_L2_V3_CMP) {
|
||||
struct bnxt *bp = netdev_priv(xdp->xdp.rxq->dev);
|
||||
|
||||
if (rxcmp1->rx_cmp_flags2 & cpu_to_le32(RX_CMP_FLAGS2_IP_TYPE))
|
||||
hash_type |= XDP_RSS_TYPE_L3_IPV6;
|
||||
else
|
||||
hash_type |= XDP_RSS_TYPE_L3_IPV4;
|
||||
|
||||
if (bnxt_rss_ext_op(bp, rxcmp) == PKT_HASH_TYPE_L4)
|
||||
hash_type |= XDP_RSS_L4;
|
||||
}
|
||||
|
||||
*rss_type = hash_type;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user