From: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
To: dev@dpdk.org
Cc: Randy Schacher <stuart.schacher@broadcom.com>,
Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>,
Peter Spreadborough <peter.spreadborough@broadcom.com>,
Manish Kurup <manish.kurup@broadcom.com>,
Farah Smith <farah.smith@broadcom.com>,
Ajit Khaparde <ajit.khaparde@broadcom.com>
Subject: [PATCH v6 10/47] net/bnxt: tf_core: remove dead code from session-based priority TCAM mgr
Date: Mon, 21 Oct 2024 13:55:30 +0530 [thread overview]
Message-ID: <20241021082607.232829-11-sriharsha.basavapatna@broadcom.com> (raw)
In-Reply-To: <20241021082607.232829-1-sriharsha.basavapatna@broadcom.com>
From: Randy Schacher <stuart.schacher@broadcom.com>
Remove references to tx_tcam_supported and rx_tcam_supported
logic which chooses between FW-based tcam resource allocation
and driver-based tcam manager.
Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com>
Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com>
Reviewed-by: Manish Kurup <manish.kurup@broadcom.com>
Reviewed-by: Farah Smith <farah.smith@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/tf_core/cfa_tcam_mgr.c | 46 ----
drivers/net/bnxt/tf_core/cfa_tcam_mgr.h | 29 --
drivers/net/bnxt/tf_core/tf_session.h | 5 -
drivers/net/bnxt/tf_core/tf_tcam.c | 294 +--------------------
drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.c | 28 --
drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.h | 6 -
6 files changed, 8 insertions(+), 400 deletions(-)
diff --git a/drivers/net/bnxt/tf_core/cfa_tcam_mgr.c b/drivers/net/bnxt/tf_core/cfa_tcam_mgr.c
index 380e828da8..3875a0b934 100644
--- a/drivers/net/bnxt/tf_core/cfa_tcam_mgr.c
+++ b/drivers/net/bnxt/tf_core/cfa_tcam_mgr.c
@@ -1079,52 +1079,6 @@ cfa_tcam_mgr_init(struct tf *tfp, enum cfa_tcam_mgr_device_type type,
return 0;
}
-int
-cfa_tcam_mgr_qcaps(struct tf *tfp __rte_unused,
- struct cfa_tcam_mgr_qcaps_parms *parms)
-{
- struct cfa_tcam_mgr_data *tcam_mgr_data;
- struct tf_session *tfs;
- unsigned int type;
- int rc;
-
- CFA_TCAM_MGR_CHECK_PARMS2(tfp, parms);
-
- rc = tf_session_get_session_internal(tfp, &tfs);
- if (rc)
- return rc;
-
- tcam_mgr_data = tfs->tcam_mgr_handle;
- if (!tcam_mgr_data) {
- CFA_TCAM_MGR_LOG_0(ERR, "No TCAM data created for session.\n");
- return -CFA_TCAM_MGR_ERR_CODE(PERM);
- }
-
- /*
- * This code will indicate if TCAM Manager is managing a logical TCAM
- * table or not. If not, then the physical TCAM will have to be
- * accessed using the traditional methods.
- */
- parms->rx_tcam_supported = 0;
- parms->tx_tcam_supported = 0;
- for (type = 0; type < CFA_TCAM_MGR_TBL_TYPE_MAX; type++) {
- if (tcam_mgr_data->cfa_tcam_mgr_tables[TF_DIR_RX]
- [type].max_entries > 0 &&
- tcam_mgr_data->cfa_tcam_mgr_tables[TF_DIR_RX]
- [type].hcapi_type > 0)
- parms->rx_tcam_supported |=
- 1 << cfa_tcam_mgr_get_phys_table_type(type);
- if (tcam_mgr_data->cfa_tcam_mgr_tables[TF_DIR_TX]
- [type].max_entries > 0 &&
- tcam_mgr_data->cfa_tcam_mgr_tables[TF_DIR_TX]
- [type].hcapi_type > 0)
- parms->tx_tcam_supported |=
- 1 << cfa_tcam_mgr_get_phys_table_type(type);
- }
-
- return 0;
-}
-
static
int cfa_tcam_mgr_validate_tcam_cnt(struct tf *tfp __rte_unused,
struct cfa_tcam_mgr_data *tcam_mgr_data,
diff --git a/drivers/net/bnxt/tf_core/cfa_tcam_mgr.h b/drivers/net/bnxt/tf_core/cfa_tcam_mgr.h
index 25654a8351..1cbd25e7d1 100644
--- a/drivers/net/bnxt/tf_core/cfa_tcam_mgr.h
+++ b/drivers/net/bnxt/tf_core/cfa_tcam_mgr.h
@@ -122,18 +122,6 @@ struct cfa_tcam_mgr_init_parms {
uint32_t max_entries;
};
-/**
- * TCAM Manager initialization parameters
- */
-struct cfa_tcam_mgr_qcaps_parms {
- /**
- * [out] Bitmasks. Set if TCAM Manager is managing a logical TCAM.
- * Each bitmask is indexed by logical TCAM table ID.
- */
- uint32_t rx_tcam_supported;
- uint32_t tx_tcam_supported;
-};
-
/**
* TCAM Manager configuration parameters
*/
@@ -369,23 +357,6 @@ cfa_tcam_mgr_init(struct tf *tfp, enum cfa_tcam_mgr_device_type type,
int
cfa_tcam_mgr_get_phys_table_type(enum cfa_tcam_mgr_tbl_type type);
-/**
- * Queries the capabilities of TCAM Manager.
- *
- * [in] context
- * Pointer to context information
- *
- * [out] parms
- * Pointer to parameters to be returned
- *
- * Returns
- * - (0) if successful.
- * - (<0) on failure.
- */
-int
-cfa_tcam_mgr_qcaps(struct tf *tfp __rte_unused,
- struct cfa_tcam_mgr_qcaps_parms *parms);
-
/**
* Initializes the TCAM module with the requested DBs. Must be
* invoked as the first thing before any of the access functions.
diff --git a/drivers/net/bnxt/tf_core/tf_session.h b/drivers/net/bnxt/tf_core/tf_session.h
index d46d89e9e9..7668e9d0e0 100644
--- a/drivers/net/bnxt/tf_core/tf_session.h
+++ b/drivers/net/bnxt/tf_core/tf_session.h
@@ -174,11 +174,6 @@ struct tf_session {
*/
uint16_t wc_num_slices_per_row;
- /**
- * Indicates if TCAM is controlled by TCAM Manager
- */
- int tcam_mgr_control[TF_DIR_MAX][TF_TCAM_TBL_TYPE_MAX];
-
/**
* TCAM Manager handle pointing to session based tcam memory
*/
diff --git a/drivers/net/bnxt/tf_core/tf_tcam.c b/drivers/net/bnxt/tf_core/tf_tcam.c
index fa8f60777d..e9bff62f88 100644
--- a/drivers/net/bnxt/tf_core/tf_tcam.c
+++ b/drivers/net/bnxt/tf_core/tf_tcam.c
@@ -37,9 +37,6 @@ tf_tcam_bind(struct tf *tfp,
struct tcam_rm_db *tcam_db;
struct tfp_calloc_parms cparms;
struct tf_resource_info resv_res[TF_DIR_MAX][TF_TCAM_TBL_TYPE_MAX];
- uint32_t rx_supported;
- uint32_t tx_supported;
- bool no_req = true;
TF_CHECK_PARMS2(tfp, parms);
@@ -167,39 +164,16 @@ tf_tcam_bind(struct tf *tfp,
if (rc)
return rc;
- rc = tf_tcam_mgr_qcaps_msg(tfp, dev,
- &rx_supported, &tx_supported);
- if (rc)
- return rc;
-
- for (t = 0; t < TF_TCAM_TBL_TYPE_MAX; t++) {
- if (rx_supported & 1 << t)
- tfs->tcam_mgr_control[TF_DIR_RX][t] = 1;
- if (tx_supported & 1 << t)
- tfs->tcam_mgr_control[TF_DIR_TX][t] = 1;
- }
-
/*
* Make a local copy of tcam_cnt with only resources not managed by TCAM
* Manager requested.
*/
memcpy(&local_tcam_cnt, tcam_cnt, sizeof(local_tcam_cnt));
tcam_cnt = local_tcam_cnt;
- for (d = 0; d < TF_DIR_MAX; d++) {
- for (t = 0; t < TF_TCAM_TBL_TYPE_MAX; t++) {
- /* If controlled by TCAM Manager */
- if (tfs->tcam_mgr_control[d][t])
- tcam_cnt[d].cnt[t] = 0;
- else if (tcam_cnt[d].cnt[t] > 0)
- no_req = false;
- }
- }
-
- /* If no resources left to request */
- if (no_req)
- goto finished;
+ for (d = 0; d < TF_DIR_MAX; d++)
+ for (t = 0; t < TF_TCAM_TBL_TYPE_MAX; t++)
+ tcam_cnt[d].cnt[t] = 0;
-finished:
TFP_DRV_LOG(INFO,
"TCAM - initialized\n");
@@ -274,14 +248,10 @@ int
tf_tcam_alloc(struct tf *tfp,
struct tf_tcam_alloc_parms *parms)
{
- int rc, i;
+ int rc;
struct tf_session *tfs;
struct tf_dev_info *dev;
- struct tf_rm_allocate_parms aparms;
uint16_t num_slices = 1;
- uint32_t index;
- struct tcam_rm_db *tcam_db;
- void *tcam_db_ptr = NULL;
TF_CHECK_PARMS2(tfp, parms);
@@ -312,43 +282,7 @@ tf_tcam_alloc(struct tf *tfp,
if (rc)
return rc;
- /* If TCAM controlled by TCAM Manager */
- if (tfs->tcam_mgr_control[parms->dir][parms->type])
- return tf_tcam_mgr_alloc_msg(tfp, dev, parms);
- rc = tf_session_get_db(tfp, TF_MODULE_TYPE_TCAM, &tcam_db_ptr);
- if (rc) {
- TFP_DRV_LOG(ERR,
- "Failed to get tcam_db from session, rc:%s\n",
- strerror(-rc));
- return rc;
- }
- tcam_db = (struct tcam_rm_db *)tcam_db_ptr;
-
- /*
- * For WC TCAM, number of slices could be 4, 2, 1 based on
- * the key_size. For other TCAM, it is always 1
- */
- for (i = 0; i < num_slices; i++) {
- memset(&aparms, 0, sizeof(aparms));
- aparms.rm_db = tcam_db->tcam_db[parms->dir];
- aparms.subtype = parms->type;
- aparms.priority = parms->priority;
- aparms.index = &index;
- rc = tf_rm_allocate(&aparms);
- if (rc) {
- TFP_DRV_LOG(ERR,
- "%s: Failed tcam, type:%d\n",
- tf_dir_2_str(parms->dir),
- parms->type);
- return rc;
- }
-
- /* return the start index of each row */
- if (i == 0)
- parms->idx = index;
- }
-
- return 0;
+ return tf_tcam_mgr_alloc_msg(tfp, dev, parms);
}
int
@@ -358,14 +292,7 @@ tf_tcam_free(struct tf *tfp,
int rc;
struct tf_session *tfs;
struct tf_dev_info *dev;
- struct tf_rm_is_allocated_parms aparms;
- struct tf_rm_free_parms fparms;
- struct tf_rm_get_hcapi_parms hparms;
uint16_t num_slices = 1;
- int allocated = 0;
- int i;
- struct tcam_rm_db *tcam_db;
- void *tcam_db_ptr = NULL;
TF_CHECK_PARMS2(tfp, parms);
@@ -396,91 +323,7 @@ tf_tcam_free(struct tf *tfp,
if (rc)
return rc;
- /* If TCAM controlled by TCAM Manager */
- if (tfs->tcam_mgr_control[parms->dir][parms->type])
- /*
- * If a session can have multiple references to an entry, check
- * the reference count here before actually freeing the entry.
- */
- return tf_tcam_mgr_free_msg(tfp, dev, parms);
-
- if (parms->idx % num_slices) {
- TFP_DRV_LOG(ERR,
- "%s: TCAM reserved resource is not multiple of %d\n",
- tf_dir_2_str(parms->dir),
- num_slices);
- return -EINVAL;
- }
-
- rc = tf_session_get_db(tfp, TF_MODULE_TYPE_TCAM, &tcam_db_ptr);
- if (rc) {
- TFP_DRV_LOG(ERR,
- "Failed to get em_ext_db from session, rc:%s\n",
- strerror(-rc));
- return rc;
- }
- tcam_db = (struct tcam_rm_db *)tcam_db_ptr;
-
- /* Check if element is in use */
- memset(&aparms, 0, sizeof(aparms));
- aparms.rm_db = tcam_db->tcam_db[parms->dir];
- aparms.subtype = parms->type;
- aparms.index = parms->idx;
- aparms.allocated = &allocated;
- rc = tf_rm_is_allocated(&aparms);
- if (rc)
- return rc;
-
- if (allocated != TF_RM_ALLOCATED_ENTRY_IN_USE) {
- TFP_DRV_LOG(ERR,
- "%s: Entry already free, type:%d, index:%d\n",
- tf_dir_2_str(parms->dir),
- parms->type,
- parms->idx);
- return -EINVAL;
- }
-
- for (i = 0; i < num_slices; i++) {
- /* Free requested element */
- memset(&fparms, 0, sizeof(fparms));
- fparms.rm_db = tcam_db->tcam_db[parms->dir];
- fparms.subtype = parms->type;
- fparms.index = parms->idx + i;
- rc = tf_rm_free(&fparms);
- if (rc) {
- TFP_DRV_LOG(ERR,
- "%s: Free failed, type:%d, index:%d\n",
- tf_dir_2_str(parms->dir),
- parms->type,
- parms->idx);
- return rc;
- }
- }
-
- /* Convert TF type to HCAPI RM type */
- memset(&hparms, 0, sizeof(hparms));
-
- hparms.rm_db = tcam_db->tcam_db[parms->dir];
- hparms.subtype = parms->type;
- hparms.hcapi_type = &parms->hcapi_type;
-
- rc = tf_rm_get_hcapi_type(&hparms);
- if (rc)
- return rc;
-
- rc = tf_msg_tcam_entry_free(tfp, dev, parms);
- if (rc) {
- /* Log error */
- TFP_DRV_LOG(ERR,
- "%s: %s: Entry %d free failed, rc:%s\n",
- tf_dir_2_str(parms->dir),
- tf_tcam_tbl_2_str(parms->type),
- parms->idx,
- strerror(-rc));
- return rc;
- }
-
- return 0;
+ return tf_tcam_mgr_free_msg(tfp, dev, parms);
}
int
@@ -490,12 +333,7 @@ tf_tcam_set(struct tf *tfp __rte_unused,
int rc;
struct tf_session *tfs;
struct tf_dev_info *dev;
- struct tf_rm_is_allocated_parms aparms;
- struct tf_rm_get_hcapi_parms hparms;
uint16_t num_slice_per_row = 1;
- int allocated = 0;
- struct tcam_rm_db *tcam_db;
- void *tcam_db_ptr = NULL;
TF_CHECK_PARMS2(tfp, parms);
@@ -526,62 +364,7 @@ tf_tcam_set(struct tf *tfp __rte_unused,
if (rc)
return rc;
- /* If TCAM controlled by TCAM Manager */
- if (tfs->tcam_mgr_control[parms->dir][parms->type])
- return tf_tcam_mgr_set_msg(tfp, dev, parms);
-
- rc = tf_session_get_db(tfp, TF_MODULE_TYPE_TCAM, &tcam_db_ptr);
- if (rc) {
- TFP_DRV_LOG(ERR,
- "Failed to get em_ext_db from session, rc:%s\n",
- strerror(-rc));
- return rc;
- }
- tcam_db = (struct tcam_rm_db *)tcam_db_ptr;
-
- /* Check if element is in use */
- memset(&aparms, 0, sizeof(aparms));
-
- aparms.rm_db = tcam_db->tcam_db[parms->dir];
- aparms.subtype = parms->type;
- aparms.index = parms->idx;
- aparms.allocated = &allocated;
- rc = tf_rm_is_allocated(&aparms);
- if (rc)
- return rc;
-
- if (allocated != TF_RM_ALLOCATED_ENTRY_IN_USE) {
- TFP_DRV_LOG(ERR,
- "%s: Entry is not allocated, type:%d, index:%d\n",
- tf_dir_2_str(parms->dir),
- parms->type,
- parms->idx);
- return -EINVAL;
- }
-
- /* Convert TF type to HCAPI RM type */
- memset(&hparms, 0, sizeof(hparms));
-
- hparms.rm_db = tcam_db->tcam_db[parms->dir];
- hparms.subtype = parms->type;
- hparms.hcapi_type = &parms->hcapi_type;
-
- rc = tf_rm_get_hcapi_type(&hparms);
- if (rc)
- return rc;
-
- rc = tf_msg_tcam_entry_set(tfp, dev, parms);
- if (rc) {
- /* Log error */
- TFP_DRV_LOG(ERR,
- "%s: %s: Entry %d set failed, rc:%s",
- tf_dir_2_str(parms->dir),
- tf_tcam_tbl_2_str(parms->type),
- parms->idx,
- strerror(-rc));
- return rc;
- }
- return 0;
+ return tf_tcam_mgr_set_msg(tfp, dev, parms);
}
int
@@ -591,11 +374,6 @@ tf_tcam_get(struct tf *tfp __rte_unused,
int rc;
struct tf_session *tfs;
struct tf_dev_info *dev;
- struct tf_rm_is_allocated_parms aparms;
- struct tf_rm_get_hcapi_parms hparms;
- int allocated = 0;
- struct tcam_rm_db *tcam_db;
- void *tcam_db_ptr = NULL;
TF_CHECK_PARMS2(tfp, parms);
@@ -609,63 +387,7 @@ tf_tcam_get(struct tf *tfp __rte_unused,
if (rc)
return rc;
- /* If TCAM controlled by TCAM Manager */
- if (tfs->tcam_mgr_control[parms->dir][parms->type])
- return tf_tcam_mgr_get_msg(tfp, dev, parms);
-
- rc = tf_session_get_db(tfp, TF_MODULE_TYPE_TCAM, &tcam_db_ptr);
- if (rc) {
- TFP_DRV_LOG(ERR,
- "Failed to get em_ext_db from session, rc:%s\n",
- strerror(-rc));
- return rc;
- }
- tcam_db = (struct tcam_rm_db *)tcam_db_ptr;
-
- /* Check if element is in use */
- memset(&aparms, 0, sizeof(aparms));
-
- aparms.rm_db = tcam_db->tcam_db[parms->dir];
- aparms.subtype = parms->type;
- aparms.index = parms->idx;
- aparms.allocated = &allocated;
- rc = tf_rm_is_allocated(&aparms);
- if (rc)
- return rc;
-
- if (allocated != TF_RM_ALLOCATED_ENTRY_IN_USE) {
- TFP_DRV_LOG(ERR,
- "%s: Entry is not allocated, type:%d, index:%d\n",
- tf_dir_2_str(parms->dir),
- parms->type,
- parms->idx);
- return -EINVAL;
- }
-
- /* Convert TF type to HCAPI RM type */
- memset(&hparms, 0, sizeof(hparms));
-
- hparms.rm_db = tcam_db->tcam_db[parms->dir];
- hparms.subtype = parms->type;
- hparms.hcapi_type = &parms->hcapi_type;
-
- rc = tf_rm_get_hcapi_type(&hparms);
- if (rc)
- return rc;
-
- rc = tf_msg_tcam_entry_get(tfp, dev, parms);
- if (rc) {
- /* Log error */
- TFP_DRV_LOG(ERR,
- "%s: %s: Entry %d set failed, rc:%s",
- tf_dir_2_str(parms->dir),
- tf_tcam_tbl_2_str(parms->type),
- parms->idx,
- strerror(-rc));
- return rc;
- }
-
- return 0;
+ return tf_tcam_mgr_get_msg(tfp, dev, parms);
}
int
diff --git a/drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.c b/drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.c
index 8cf4d4d1fb..9e5d39fde5 100644
--- a/drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.c
+++ b/drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.c
@@ -38,34 +38,6 @@ static enum cfa_tcam_mgr_tbl_type tcam_types[TF_TCAM_TBL_TYPE_MAX] = {
static uint16_t hcapi_type[TF_TCAM_TBL_TYPE_MAX];
-/*
- * This is the glue between the core tf_tcam and the TCAM manager. It is
- * intended to abstract out the location of the TCAM manager so that the core
- * code will be the same if the TCAM manager is in the core or in firmware.
- *
- * If the TCAM manager is in the core, then this file will just translate to
- * TCAM manager APIs. If TCAM manager is in firmware, then this file will cause
- * messages to be sent (except for bind and unbind).
- */
-
-int
-tf_tcam_mgr_qcaps_msg(struct tf *tfp,
- struct tf_dev_info *dev __rte_unused,
- uint32_t *rx_tcam_supported,
- uint32_t *tx_tcam_supported)
-{
- struct cfa_tcam_mgr_qcaps_parms mgr_parms;
- int rc;
-
- memset(&mgr_parms, 0, sizeof(mgr_parms));
- rc = cfa_tcam_mgr_qcaps(tfp, &mgr_parms);
- if (rc >= 0) {
- *rx_tcam_supported = mgr_parms.rx_tcam_supported;
- *tx_tcam_supported = mgr_parms.tx_tcam_supported;
- }
- return rc;
-}
-
int
tf_tcam_mgr_bind_msg(struct tf *tfp,
struct tf_dev_info *dev __rte_unused,
diff --git a/drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.h b/drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.h
index 8a8d136f5e..eb4617049a 100644
--- a/drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.h
+++ b/drivers/net/bnxt/tf_core/tf_tcam_mgr_msg.h
@@ -9,12 +9,6 @@
#include "tf_tcam.h"
#include "tf_rm.h"
-int
-tf_tcam_mgr_qcaps_msg(struct tf *tfp,
- struct tf_dev_info *dev __rte_unused,
- uint32_t *rx_tcam_supported,
- uint32_t *tx_tcam_supported);
-
int
tf_tcam_mgr_bind_msg(struct tf *tfp,
struct tf_dev_info *dev,
--
2.39.3
next prev parent reply other threads:[~2024-10-21 8:16 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-21 8:25 [PATCH v6 00/47] TruFlow update for Thor2 Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 01/47] net/bnxt: tf_core: fix wc tcam multi slice delete issue Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 02/47] net/bnxt: tf_core: tcam manager data corruption Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 03/47] net/bnxt: tf_core: External EM support cleanup Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 04/47] net/bnxt: tf_core: Thor TF EM key size check Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 05/47] net/bnxt: tf_core: flow scale improvement Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 06/47] net/bnxt: tf_core: TF support flow scale query Sriharsha Basavapatna
2024-10-21 16:09 ` Stephen Hemminger
2024-10-22 16:12 ` Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 07/47] net/bnxt: tf_core: fix slice count in case of HA entry move Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 08/47] net/bnxt: tf_core: convert priority based TCAM manager to dynamic allocation Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 09/47] net/bnxt: tf_core: remove dead AFM code from session-based priority TCAM mgr Sriharsha Basavapatna
2024-10-21 8:25 ` Sriharsha Basavapatna [this message]
2024-10-21 8:25 ` [PATCH v6 11/47] net/bnxt: tfc: support tf-core for Thor2 Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 12/47] net/bnxt: tf_ulp: add vxlan-gpe base support Sriharsha Basavapatna
2024-10-21 15:54 ` Stephen Hemminger
2024-10-22 16:07 ` Sriharsha Basavapatna
2024-10-22 21:32 ` Ajit Khaparde
2024-10-23 0:44 ` Stephen Hemminger
2024-10-21 8:25 ` [PATCH v6 13/47] net/bnxt: tf_ulp: add custom l2 etype tunnel support Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 14/47] net/bnxt: tf_ulp: add support for vf to vf flow offload Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 15/47] net/bnxt: tf_ulp: Wh+ mirroring support Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 16/47] net/bnxt: tf_ulp: miscellaneous fixes Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 17/47] net/bnxt: tf_ulp: support for Thor2 ulp layer Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 18/47] net/bnxt: tf_ulp: add support for overlapping flows Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 19/47] net/bnxt: tf_ulp: convert recipe table to dynamic memory Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 20/47] net/bnxt: tf_ulp: add feature bit support Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 21/47] net/bnxt: tf_ulp: add action read and clear support Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 22/47] net/bnxt: tf_ulp: update template files Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 23/47] net/bnxt: tf_ulp: VFR updates for Thor 2 Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 24/47] net/bnxt: tf_ulp: add support for tunnel flow stats Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 25/47] net/bnxt: tf_ulp: update template files Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 26/47] net/bnxt: tf_ulp: enable recipe id generation Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 27/47] net/bnxt: tf_ulp: fixed parent child db counters Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 28/47] net/bnxt: tf_ulp: modify return values to adhere to C coding standard Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 29/47] net/bnxt: tf_ulp: update template files Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 30/47] net/bnxt: tf_ulp: add mask defaults when mask is not specified Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 31/47] net/bnxt: tf_ulp: add jump action support Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 32/47] net/bnxt: tf_ulp: add support for flow priority Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 33/47] net/bnxt: tf_ulp: support for dynamic tunnel ports Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 34/47] net/bnxt: tf_ulp: add rte_mtr support for Thor2 Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 35/47] net/bnxt: tf_ulp: TF support flow scale query Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 36/47] net/bnxt: tf_ulp: add support for rss flow query to ULP Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 37/47] net/bnxt: tf_ulp: add track type feature to tables Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 38/47] net/bnxt: tf_ulp: inline utility functions and use likely/unlikely Sriharsha Basavapatna
2024-10-21 8:25 ` [PATCH v6 39/47] net/bnxt: tf_ulp: switch ulp to use rte crc32 hash Sriharsha Basavapatna
2024-10-21 8:26 ` [PATCH v6 40/47] net/bnxt: tf_ulp: update template files Sriharsha Basavapatna
2024-10-21 8:26 ` [PATCH v6 41/47] net/bnxt: tf_ulp: support a few generic template items Sriharsha Basavapatna
2024-10-21 8:26 ` [PATCH v6 42/47] net/bnxt: tf_ulp: TFC support flow scale query for Thor2 Sriharsha Basavapatna
2024-10-21 8:26 ` [PATCH v6 43/47] net/bnxt: tf_ulp: update template files Sriharsha Basavapatna
2024-10-21 8:26 ` [PATCH v6 44/47] net/bnxt: tf_ulp: enable support for truflow feature configuration Sriharsha Basavapatna
2024-10-21 8:26 ` [PATCH v6 45/47] net/bnxt: tf_ulp: support a few feature extensions Sriharsha Basavapatna
2024-10-21 8:26 ` [PATCH v6 46/47] net/bnxt: tf_ulp: update template files Sriharsha Basavapatna
2024-10-21 8:26 ` [PATCH v6 47/47] net/bnxt: tf_ulp: add stats cache for thor2 Sriharsha Basavapatna
2024-10-24 5:26 ` [PATCH v6 00/47] TruFlow update for Thor2 Ajit Khaparde
2024-10-28 12:58 ` Thomas Monjalon
2024-10-28 16:32 ` Sriharsha Basavapatna
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241021082607.232829-11-sriharsha.basavapatna@broadcom.com \
--to=sriharsha.basavapatna@broadcom.com \
--cc=ajit.khaparde@broadcom.com \
--cc=dev@dpdk.org \
--cc=farah.smith@broadcom.com \
--cc=manish.kurup@broadcom.com \
--cc=peter.spreadborough@broadcom.com \
--cc=stuart.schacher@broadcom.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).