[PATCH v4 38/57] net/bnxt/tf_ulp: add non vfr mode capability
Manish Kurup
manish.kurup at broadcom.com
Tue Oct 21 20:56:42 CEST 2025
From: Kishore Padmanabha <kishore.padmanabha at broadcom.com>
For Wh+ platform, the generic template support representor
and non representor mode, this flag shall be controlled by the
newly added capability flag that is added during the compile time.
The flag enables the testpmd forward mode, so testpmd application
can forward packets from one port to another port.
Signed-off-by: Kishore Padmanabha <kishore.padmanabha at broadcom.com>
Reviewed-by: Shuanglin Wang <shuanglin.wang at broadcom.com>
---
drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c | 5 ++++-
drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h | 3 +++
drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h | 3 ++-
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c
index de87ce0349..54a5e6968c 100644
--- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c
+++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_tf.c
@@ -1049,6 +1049,7 @@ ulp_tf_ctx_init(struct bnxt *bp,
int32_t rc = 0;
enum bnxt_ulp_device_id devid;
enum bnxt_ulp_session_type stype;
+ uint64_t feat_bits;
struct tf *tfp;
/* Initialize the context entries list */
@@ -1101,7 +1102,9 @@ ulp_tf_ctx_init(struct bnxt *bp,
goto error_deinit;
}
- if (BNXT_TESTPMD_EN(bp)) {
+ feat_bits = bnxt_ulp_feature_bits_get(bp->ulp_ctx);
+ if ((feat_bits & BNXT_ULP_FEATURE_BIT_NON_VFR_MODE) &&
+ !BNXT_REP_MODE_EN(bp)) {
ulp_data->ulp_flags &= ~BNXT_ULP_VF_REP_ENABLED;
BNXT_DRV_DBG(ERR, "Enabled Testpmd forward mode\n");
}
diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h
index c46340b1a4..14ee1e05fb 100644
--- a/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h
+++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp_utils.h
@@ -1064,6 +1064,9 @@ bnxt_ulp_cap_feat_process(uint64_t feat_bits, uint64_t *out_bits)
BNXT_DRV_DBG(ERR, "Hot Upgrade Feature is enabled");
if (bit & BNXT_ULP_FEATURE_BIT_SOCKET_DIRECT)
BNXT_DRV_DBG(ERR, "Socket Direct Feature is enabled");
+ if (bit & BNXT_ULP_FEATURE_BIT_NON_VFR_MODE)
+ BNXT_DRV_DBG(ERR, "Non VFR Feature is enabled");
+
*out_bits = bit;
return 0;
}
diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
index 3ce43f4c92..d63862ffba 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
@@ -913,7 +913,8 @@ enum bnxt_ulp_feature_bit {
BNXT_ULP_FEATURE_BIT_MULTI_INSTANCE = 0x00000010,
BNXT_ULP_FEATURE_BIT_SPECIAL_VXLAN = 0x00000020,
BNXT_ULP_FEATURE_BIT_HOT_UPGRADE = 0x00000040,
- BNXT_ULP_FEATURE_BIT_GLOBAL_TBL_SCOPE = 0x00000080
+ BNXT_ULP_FEATURE_BIT_GLOBAL_TBL_SCOPE = 0x00000080,
+ BNXT_ULP_FEATURE_BIT_NON_VFR_MODE = 0x00000100
};
enum bnxt_ulp_flow_dir_bitmask {
--
2.39.5 (Apple Git-154)
More information about the dev
mailing list