patch 'net/bnxt: fix LRO capability reporting' has been queued to stable release 24.11.7

luca.boccassi at gmail.com luca.boccassi at gmail.com
Thu Jun 11 15:21:02 CEST 2026


Hi,

FYI, your patch has been queued to stable release 24.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/13/26. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/a1348352aa6fb8963089ecbaf462be8e1a099f3e

Thanks.

Luca Boccassi

---
>From a1348352aa6fb8963089ecbaf462be8e1a099f3e Mon Sep 17 00:00:00 2001
From: Damodharam Ammepalli <damodharam.ammepalli at broadcom.com>
Date: Mon, 9 Feb 2026 11:12:18 -0800
Subject: [PATCH] net/bnxt: fix LRO capability reporting

[ upstream commit cd8c5f57021d0229de56cdeb866daa3196dd5cab ]

Do not set the Rx LRO offload capability bit mask if the
hardware did not advertise the function, and let
the driver take non-tpa path in configuring the vnic
in such cases.

Fixes: b150a7e7ee66 ("net/bnxt: support LRO on Thor adapters")

Signed-off-by: Damodharam Ammepalli <damodharam.ammepalli at broadcom.com>
Signed-off-by: Mohammad Shuab Siddique <mohammad-shuab.siddique at broadcom.com>
---
 drivers/net/bnxt/bnxt.h      |  1 +
 drivers/net/bnxt/bnxt_hwrm.c | 29 +++++++++++++++++++++++++++--
 drivers/net/bnxt/bnxt_rxq.c  |  3 ++-
 3 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h
index d8a5589da8..a83fddf9e5 100644
--- a/drivers/net/bnxt/bnxt.h
+++ b/drivers/net/bnxt/bnxt.h
@@ -1253,6 +1253,7 @@ extern int bnxt_logtype_driver;
 #define BNXT_LINK_SPEEDS_V2(bp) (((bp)->link_info) && (((bp)->link_info->support_speeds_v2) || \
 						       BNXT_LINK_SPEEDS_V2_VF((bp))))
 #define BNXT_MAX_SPEED_LANES 8
+#define BNXT_SUPPORTS_TPA(bp)  (!BNXT_CHIP_P5_P7(bp) || (bp)->max_tpa_v2)
 extern const struct rte_flow_ops bnxt_ulp_rte_flow_ops;
 int32_t bnxt_ulp_port_init(struct bnxt *bp);
 void bnxt_ulp_port_deinit(struct bnxt *bp);
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index f438770860..8bef174b9f 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -3135,10 +3135,10 @@ int bnxt_hwrm_vnic_tpa_cfg(struct bnxt *bp,
 		return -ENOTSUP;
 	}
 
-	if ((BNXT_CHIP_P5(bp) || BNXT_CHIP_P7(bp)) && !bp->max_tpa_v2) {
+	if (!BNXT_SUPPORTS_TPA(bp)) {
 		if (enable)
 			PMD_DRV_LOG_LINE(ERR, "No HW support for LRO");
-		return -ENOTSUP;
+		return 0;
 	}
 
 	if (vnic->fw_vnic_id == INVALID_HW_RING_ID) {
@@ -4929,6 +4929,31 @@ int bnxt_hwrm_pf_evb_mode(struct bnxt *bp)
 	return rc;
 }
 
+static int bnxt_hwrm_set_tpa(struct bnxt *bp)
+{
+	struct rte_eth_conf *dev_conf = &bp->eth_dev->data->dev_conf;
+	uint64_t rx_offloads = dev_conf->rxmode.offloads;
+	bool tpa_flags = 0;
+	int rc, i;
+
+	if (!BNXT_SUPPORTS_TPA(bp))
+		return 0;
+
+	tpa_flags = (rx_offloads & RTE_ETH_RX_OFFLOAD_TCP_LRO) ?  true : false;
+	for (i = 0; i < bp->max_vnics; i++) {
+		struct bnxt_vnic_info *vnic = &bp->vnic_info[i];
+
+		if (vnic->fw_vnic_id == INVALID_HW_RING_ID)
+			continue;
+
+		rc = bnxt_hwrm_vnic_tpa_cfg(bp, vnic, tpa_flags);
+		if (rc)
+			return rc;
+	}
+	return 0;
+}
+
+
 int bnxt_hwrm_tunnel_dst_port_alloc(struct bnxt *bp, uint16_t port,
 				uint8_t tunnel_type)
 {
diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c
index b93f5043de..023cb0e174 100644
--- a/drivers/net/bnxt/bnxt_rxq.c
+++ b/drivers/net/bnxt/bnxt_rxq.c
@@ -38,7 +38,8 @@ uint64_t bnxt_get_rx_port_offloads(struct bnxt *bp)
 				    RTE_ETH_RX_OFFLOAD_VLAN_EXTEND);
 
 
-	if (!bnxt_compressed_rx_cqe_mode_enabled(bp))
+	if (!bnxt_compressed_rx_cqe_mode_enabled(bp) &&
+	    BNXT_SUPPORTS_TPA(bp))
 		rx_offload_capa |= RTE_ETH_RX_OFFLOAD_TCP_LRO;
 	if (bp->flags & BNXT_FLAG_PTP_SUPPORTED)
 		rx_offload_capa |= RTE_ETH_RX_OFFLOAD_TIMESTAMP;
-- 
2.47.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-06-11 14:20:05.770220355 +0100
+++ 0113-net-bnxt-fix-LRO-capability-reporting.patch	2026-06-11 14:20:01.382750065 +0100
@@ -1 +1 @@
-From cd8c5f57021d0229de56cdeb866daa3196dd5cab Mon Sep 17 00:00:00 2001
+From a1348352aa6fb8963089ecbaf462be8e1a099f3e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cd8c5f57021d0229de56cdeb866daa3196dd5cab ]
+
@@ -12 +13,0 @@
-Cc: stable at dpdk.org
@@ -23 +24 @@
-index f21753e40c..5ae4e620a4 100644
+index d8a5589da8..a83fddf9e5 100644
@@ -26 +27 @@
-@@ -1273,6 +1273,7 @@ extern int bnxt_logtype_driver;
+@@ -1253,6 +1253,7 @@ extern int bnxt_logtype_driver;
@@ -35 +36 @@
-index 02a5d00738..590543ad6a 100644
+index f438770860..8bef174b9f 100644
@@ -38 +39 @@
-@@ -3120,10 +3120,10 @@ int bnxt_hwrm_vnic_tpa_cfg(struct bnxt *bp,
+@@ -3135,10 +3135,10 @@ int bnxt_hwrm_vnic_tpa_cfg(struct bnxt *bp,
@@ -51 +52 @@
-@@ -4946,6 +4946,31 @@ int bnxt_hwrm_pf_evb_mode(struct bnxt *bp)
+@@ -4929,6 +4929,31 @@ int bnxt_hwrm_pf_evb_mode(struct bnxt *bp)


More information about the stable mailing list