[PATCH v2 09/13] net/bnxt: disable VLAN filter when TF is enabled
Ajit Khaparde
ajit.khaparde at broadcom.com
Sun Oct 27 18:11:24 CET 2024
From: Kishore Padmanabha <kishore.padmanabha at broadcom.com>
For p7 platform, the vlan filter and strip is disabled if the truflow
is enabled on the platform.
Signed-off-by: Kishore Padmanabha <kishore.padmanabha at broadcom.com>
Reviewed-by: Mike Baucom <michael.baucom at broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 6 +++++-
drivers/net/bnxt/bnxt_rxq.c | 17 +++++++++++------
2 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 890c9f8b45..d3ea4ed539 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -2964,7 +2964,7 @@ bnxt_vlan_offload_set_op(struct rte_eth_dev *dev, int mask)
{
uint64_t rx_offloads = dev->data->dev_conf.rxmode.offloads;
struct bnxt *bp = dev->data->dev_private;
- int rc;
+ int rc = 0;
rc = is_bnxt_in_error(bp);
if (rc)
@@ -2974,6 +2974,10 @@ bnxt_vlan_offload_set_op(struct rte_eth_dev *dev, int mask)
if (!dev->data->dev_started)
return 0;
+ /* For P7 platform, cannot support if truflow is enabled */
+ if (BNXT_TRUFLOW_EN(bp) && BNXT_CHIP_P7(bp))
+ return rc;
+
if (mask & RTE_ETH_VLAN_FILTER_MASK) {
/* Enable or disable VLAN filtering */
rc = bnxt_config_vlan_hw_filter(bp, rx_offloads);
diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c
index 249fe7f6e5..8b8bc6584a 100644
--- a/drivers/net/bnxt/bnxt_rxq.c
+++ b/drivers/net/bnxt/bnxt_rxq.c
@@ -28,18 +28,23 @@ uint64_t bnxt_get_rx_port_offloads(struct bnxt *bp)
RTE_ETH_RX_OFFLOAD_UDP_CKSUM |
RTE_ETH_RX_OFFLOAD_TCP_CKSUM |
RTE_ETH_RX_OFFLOAD_KEEP_CRC |
- RTE_ETH_RX_OFFLOAD_VLAN_FILTER |
- RTE_ETH_RX_OFFLOAD_VLAN_EXTEND |
RTE_ETH_RX_OFFLOAD_SCATTER |
RTE_ETH_RX_OFFLOAD_RSS_HASH;
- if ((BNXT_CHIP_P7(bp) && !bnxt_compressed_rx_cqe_mode_enabled(bp)) ||
- BNXT_CHIP_P5(bp))
+ /* In P7 platform if truflow is enabled then vlan offload is disabled*/
+ if (!(BNXT_TRUFLOW_EN(bp) && BNXT_CHIP_P7(bp)))
+ rx_offload_capa |= (RTE_ETH_RX_OFFLOAD_VLAN_FILTER |
+ RTE_ETH_RX_OFFLOAD_VLAN_EXTEND);
+
+
+ if (!bnxt_compressed_rx_cqe_mode_enabled(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;
- if (bp->vnic_cap_flags & BNXT_VNIC_CAP_VLAN_RX_STRIP)
- rx_offload_capa |= RTE_ETH_RX_OFFLOAD_VLAN_STRIP;
+ if (bp->vnic_cap_flags & BNXT_VNIC_CAP_VLAN_RX_STRIP) {
+ if (!(BNXT_TRUFLOW_EN(bp) && BNXT_CHIP_P7(bp)))
+ rx_offload_capa |= RTE_ETH_RX_OFFLOAD_VLAN_STRIP;
+ }
if (BNXT_TUNNELED_OFFLOADS_CAP_ALL_EN(bp))
rx_offload_capa |= RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM |
--
2.39.5 (Apple Git-154)
More information about the dev
mailing list