From: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
To: dev@dpdk.org
Cc: Jay Ding <jay.ding@broadcom.com>,
Randy Schacher <stuart.schacher@broadcom.com>,
Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
Subject: [dpdk-dev] [PATCH 04/58] net/bnxt: check resource reservation in TRUFLOW
Date: Sun, 30 May 2021 14:28:35 +0530 [thread overview]
Message-ID: <20210530085929.29695-5-venkatkumar.duvvuru@broadcom.com> (raw)
In-Reply-To: <20210530085929.29695-1-venkatkumar.duvvuru@broadcom.com>
From: Jay Ding <jay.ding@broadcom.com>
- Allow tf_open to continue if no resource is allocated
for some table type.
- Close the session if binding fails for any table.
- Close the session if no resource is allocated for all tables.
Signed-off-by: Jay Ding <jay.ding@broadcom.com>
Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com>
Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com>
---
drivers/net/bnxt/tf_core/tf_device.c | 284 +++++++++++++++++++-------
drivers/net/bnxt/tf_core/tf_session.c | 2 +-
2 files changed, 207 insertions(+), 79 deletions(-)
diff --git a/drivers/net/bnxt/tf_core/tf_device.c b/drivers/net/bnxt/tf_core/tf_device.c
index 5116601a69..d4c93439ec 100644
--- a/drivers/net/bnxt/tf_core/tf_device.c
+++ b/drivers/net/bnxt/tf_core/tf_device.c
@@ -15,6 +15,44 @@ struct tf;
static int tf_dev_unbind_p4(struct tf *tfp);
static int tf_dev_unbind_p58(struct tf *tfp);
+/**
+ * Resource Reservation Check function
+ *
+ * [in] tfp
+ * Pointer to TF handle
+ *
+ * [in] cfg
+ * Pointer to rm element config
+ *
+ * [in] reservations
+ * Pointer to resource reservation array
+ *
+ * Returns
+ * - (n) number of tables that have non-zero reservation count.
+ */
+static int
+tf_dev_reservation_check(struct tf *tfp __rte_unused,
+ uint16_t count,
+ struct tf_rm_element_cfg *cfg,
+ uint16_t *reservations)
+{
+ uint16_t cnt = 0;
+ uint16_t *rm_num;
+ int i, j;
+
+ for (i = 0; i < TF_DIR_MAX; i++) {
+ rm_num = (uint16_t *)reservations + i * count;
+ for (j = 0; j < count; j++) {
+ if ((cfg[j].cfg_type == TF_RM_ELEM_CFG_HCAPI ||
+ cfg[j].cfg_type == TF_RM_ELEM_CFG_HCAPI_BA) &&
+ rm_num[j] > 0)
+ cnt++;
+ }
+ }
+
+ return cnt;
+}
+
/**
* Device specific bind function, WH+
*
@@ -42,6 +80,8 @@ tf_dev_bind_p4(struct tf *tfp,
{
int rc;
int frc;
+ int rsv_cnt;
+ bool no_rsv_flag = true;
struct tf_ident_cfg_parms ident_cfg;
struct tf_tbl_cfg_parms tbl_cfg;
struct tf_tcam_cfg_parms tcam_cfg;
@@ -54,69 +94,117 @@ tf_dev_bind_p4(struct tf *tfp,
/* Initialize the modules */
- ident_cfg.num_elements = TF_IDENT_TYPE_MAX;
- ident_cfg.cfg = tf_ident_p4;
- ident_cfg.shadow_copy = shadow_copy;
- ident_cfg.resources = resources;
- rc = tf_ident_bind(tfp, &ident_cfg);
- if (rc) {
- TFP_DRV_LOG(ERR,
- "Identifier initialization failure\n");
- goto fail;
+ rsv_cnt = tf_dev_reservation_check(tfp,
+ TF_IDENT_TYPE_MAX,
+ tf_ident_p4,
+ (uint16_t *)resources->ident_cnt);
+ if (rsv_cnt) {
+ ident_cfg.num_elements = TF_IDENT_TYPE_MAX;
+ ident_cfg.cfg = tf_ident_p4;
+ ident_cfg.shadow_copy = shadow_copy;
+ ident_cfg.resources = resources;
+ rc = tf_ident_bind(tfp, &ident_cfg);
+ if (rc) {
+ TFP_DRV_LOG(ERR,
+ "Identifier initialization failure\n");
+ goto fail;
+ }
+
+ no_rsv_flag = false;
}
- tbl_cfg.num_elements = TF_TBL_TYPE_MAX;
- tbl_cfg.cfg = tf_tbl_p4;
- tbl_cfg.shadow_copy = shadow_copy;
- tbl_cfg.resources = resources;
- rc = tf_tbl_bind(tfp, &tbl_cfg);
- if (rc) {
- TFP_DRV_LOG(ERR,
- "Table initialization failure\n");
- goto fail;
+ rsv_cnt = tf_dev_reservation_check(tfp,
+ TF_TBL_TYPE_MAX,
+ tf_tbl_p4,
+ (uint16_t *)resources->tbl_cnt);
+ if (rsv_cnt) {
+ tbl_cfg.num_elements = TF_TBL_TYPE_MAX;
+ tbl_cfg.cfg = tf_tbl_p4;
+ tbl_cfg.shadow_copy = shadow_copy;
+ tbl_cfg.resources = resources;
+ rc = tf_tbl_bind(tfp, &tbl_cfg);
+ if (rc) {
+ TFP_DRV_LOG(ERR,
+ "Table initialization failure\n");
+ goto fail;
+ }
+
+ no_rsv_flag = false;
}
- tcam_cfg.num_elements = TF_TCAM_TBL_TYPE_MAX;
- tcam_cfg.cfg = tf_tcam_p4;
- tcam_cfg.shadow_copy = shadow_copy;
- tcam_cfg.resources = resources;
- rc = tf_tcam_bind(tfp, &tcam_cfg);
- if (rc) {
- TFP_DRV_LOG(ERR,
- "TCAM initialization failure\n");
- goto fail;
+ rsv_cnt = tf_dev_reservation_check(tfp,
+ TF_TCAM_TBL_TYPE_MAX,
+ tf_tcam_p4,
+ (uint16_t *)resources->tcam_cnt);
+ if (rsv_cnt) {
+ tcam_cfg.num_elements = TF_TCAM_TBL_TYPE_MAX;
+ tcam_cfg.cfg = tf_tcam_p4;
+ tcam_cfg.shadow_copy = shadow_copy;
+ tcam_cfg.resources = resources;
+ rc = tf_tcam_bind(tfp, &tcam_cfg);
+ if (rc) {
+ TFP_DRV_LOG(ERR,
+ "TCAM initialization failure\n");
+ goto fail;
+ }
+ no_rsv_flag = false;
}
/*
* EEM
*/
- em_cfg.num_elements = TF_EM_TBL_TYPE_MAX;
if (dev_handle->type == TF_DEVICE_TYPE_WH)
em_cfg.cfg = tf_em_ext_p4;
else
em_cfg.cfg = tf_em_ext_p45;
- em_cfg.resources = resources;
- em_cfg.mem_type = TF_EEM_MEM_TYPE_HOST;
- rc = tf_em_ext_common_bind(tfp, &em_cfg);
- if (rc) {
- TFP_DRV_LOG(ERR,
- "EEM initialization failure\n");
- goto fail;
+
+ rsv_cnt = tf_dev_reservation_check(tfp,
+ TF_EM_TBL_TYPE_MAX,
+ em_cfg.cfg,
+ (uint16_t *)resources->em_cnt);
+ if (rsv_cnt) {
+ em_cfg.num_elements = TF_EM_TBL_TYPE_MAX;
+ em_cfg.resources = resources;
+ em_cfg.mem_type = TF_EEM_MEM_TYPE_HOST;
+ rc = tf_em_ext_common_bind(tfp, &em_cfg);
+ if (rc) {
+ TFP_DRV_LOG(ERR,
+ "EEM initialization failure\n");
+ goto fail;
+ }
+ no_rsv_flag = false;
}
/*
* EM
*/
- em_cfg.num_elements = TF_EM_TBL_TYPE_MAX;
- em_cfg.cfg = tf_em_int_p4;
- em_cfg.resources = resources;
- em_cfg.mem_type = 0; /* Not used by EM */
+ rsv_cnt = tf_dev_reservation_check(tfp,
+ TF_EM_TBL_TYPE_MAX,
+ tf_em_int_p4,
+ (uint16_t *)resources->em_cnt);
+ if (rsv_cnt) {
+ em_cfg.num_elements = TF_EM_TBL_TYPE_MAX;
+ em_cfg.cfg = tf_em_int_p4;
+ em_cfg.resources = resources;
+ em_cfg.mem_type = 0; /* Not used by EM */
+
+ rc = tf_em_int_bind(tfp, &em_cfg);
+ if (rc) {
+ TFP_DRV_LOG(ERR,
+ "EM initialization failure\n");
+ goto fail;
+ }
+ no_rsv_flag = false;
+ }
- rc = tf_em_int_bind(tfp, &em_cfg);
- if (rc) {
+ /*
+ * There is no rm reserved for any tables
+ *
+ */
+ if (no_rsv_flag) {
TFP_DRV_LOG(ERR,
- "EM initialization failure\n");
- goto fail;
+ "No rm reserved for any tables\n");
+ return -ENOMEM;
}
/*
@@ -263,6 +351,8 @@ tf_dev_bind_p58(struct tf *tfp,
{
int rc;
int frc;
+ int rsv_cnt;
+ bool no_rsv_flag = true;
struct tf_ident_cfg_parms ident_cfg;
struct tf_tbl_cfg_parms tbl_cfg;
struct tf_tcam_cfg_parms tcam_cfg;
@@ -275,52 +365,90 @@ tf_dev_bind_p58(struct tf *tfp,
/* Initialize the modules */
- ident_cfg.num_elements = TF_IDENT_TYPE_MAX;
- ident_cfg.cfg = tf_ident_p58;
- ident_cfg.shadow_copy = shadow_copy;
- ident_cfg.resources = resources;
- rc = tf_ident_bind(tfp, &ident_cfg);
- if (rc) {
- TFP_DRV_LOG(ERR,
- "Identifier initialization failure\n");
- goto fail;
+ rsv_cnt = tf_dev_reservation_check(tfp,
+ TF_IDENT_TYPE_MAX,
+ tf_ident_p58,
+ (uint16_t *)resources->ident_cnt);
+ if (rsv_cnt) {
+ ident_cfg.num_elements = TF_IDENT_TYPE_MAX;
+ ident_cfg.cfg = tf_ident_p58;
+ ident_cfg.shadow_copy = shadow_copy;
+ ident_cfg.resources = resources;
+ rc = tf_ident_bind(tfp, &ident_cfg);
+ if (rc) {
+ TFP_DRV_LOG(ERR,
+ "Identifier initialization failure\n");
+ goto fail;
+ }
+ no_rsv_flag = false;
}
- tbl_cfg.num_elements = TF_TBL_TYPE_MAX;
- tbl_cfg.cfg = tf_tbl_p58;
- tbl_cfg.shadow_copy = shadow_copy;
- tbl_cfg.resources = resources;
- rc = tf_tbl_bind(tfp, &tbl_cfg);
- if (rc) {
- TFP_DRV_LOG(ERR,
- "Table initialization failure\n");
- goto fail;
+ rsv_cnt = tf_dev_reservation_check(tfp,
+ TF_TBL_TYPE_MAX,
+ tf_tbl_p58,
+ (uint16_t *)resources->tbl_cnt);
+ if (rsv_cnt) {
+ tbl_cfg.num_elements = TF_TBL_TYPE_MAX;
+ tbl_cfg.cfg = tf_tbl_p58;
+ tbl_cfg.shadow_copy = shadow_copy;
+ tbl_cfg.resources = resources;
+ rc = tf_tbl_bind(tfp, &tbl_cfg);
+ if (rc) {
+ TFP_DRV_LOG(ERR,
+ "Table initialization failure\n");
+ goto fail;
+ }
+ no_rsv_flag = false;
}
- tcam_cfg.num_elements = TF_TCAM_TBL_TYPE_MAX;
- tcam_cfg.cfg = tf_tcam_p58;
- tcam_cfg.shadow_copy = shadow_copy;
- tcam_cfg.resources = resources;
- rc = tf_tcam_bind(tfp, &tcam_cfg);
- if (rc) {
- TFP_DRV_LOG(ERR,
- "TCAM initialization failure\n");
- goto fail;
+ rsv_cnt = tf_dev_reservation_check(tfp,
+ TF_TCAM_TBL_TYPE_MAX,
+ tf_tcam_p58,
+ (uint16_t *)resources->tcam_cnt);
+ if (rsv_cnt) {
+ tcam_cfg.num_elements = TF_TCAM_TBL_TYPE_MAX;
+ tcam_cfg.cfg = tf_tcam_p58;
+ tcam_cfg.shadow_copy = shadow_copy;
+ tcam_cfg.resources = resources;
+ rc = tf_tcam_bind(tfp, &tcam_cfg);
+ if (rc) {
+ TFP_DRV_LOG(ERR,
+ "TCAM initialization failure\n");
+ goto fail;
+ }
+ no_rsv_flag = false;
}
/*
* EM
*/
- em_cfg.num_elements = TF_EM_TBL_TYPE_MAX;
- em_cfg.cfg = tf_em_int_p58;
- em_cfg.resources = resources;
- em_cfg.mem_type = 0; /* Not used by EM */
+ rsv_cnt = tf_dev_reservation_check(tfp,
+ TF_EM_TBL_TYPE_MAX,
+ tf_em_int_p58,
+ (uint16_t *)resources->em_cnt);
+ if (rsv_cnt) {
+ em_cfg.num_elements = TF_EM_TBL_TYPE_MAX;
+ em_cfg.cfg = tf_em_int_p58;
+ em_cfg.resources = resources;
+ em_cfg.mem_type = 0; /* Not used by EM */
+
+ rc = tf_em_int_bind(tfp, &em_cfg);
+ if (rc) {
+ TFP_DRV_LOG(ERR,
+ "EM initialization failure\n");
+ goto fail;
+ }
+ no_rsv_flag = false;
+ }
- rc = tf_em_int_bind(tfp, &em_cfg);
- if (rc) {
+ /*
+ * There is no rm reserved for any tables
+ *
+ */
+ if (no_rsv_flag) {
TFP_DRV_LOG(ERR,
- "EM initialization failure\n");
- goto fail;
+ "No rm reserved for any tables\n");
+ return -ENOMEM;
}
/*
diff --git a/drivers/net/bnxt/tf_core/tf_session.c b/drivers/net/bnxt/tf_core/tf_session.c
index b3fa7e13ff..d2b24f5e20 100644
--- a/drivers/net/bnxt/tf_core/tf_session.c
+++ b/drivers/net/bnxt/tf_core/tf_session.c
@@ -180,7 +180,7 @@ tf_session_create(struct tf *tfp,
&session->dev);
/* Logging handled by dev_bind */
if (rc)
- return rc;
+ goto cleanup;
if (session->dev.ops->tf_dev_get_mailbox == NULL) {
/* Log error */
--
2.17.1
next prev parent reply other threads:[~2021-05-30 9:01 UTC|newest]
Thread overview: 129+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-30 8:58 [dpdk-dev] [PATCH 00/58] enhancements to host based flow table management Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 01/58] net/bnxt: add CFA folder to HCAPI directory Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 02/58] net/bnxt: add base TRUFLOW support for Thor Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 03/58] net/bnxt: add mailbox selection via dev op Venkat Duvvuru
2021-05-30 8:58 ` Venkat Duvvuru [this message]
2021-05-30 8:58 ` [dpdk-dev] [PATCH 05/58] net/bnxt: update TRUFLOW resources Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 06/58] net/bnxt: add support for EM with FKB Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 07/58] net/bnxt: add L2 Context TCAM get support Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 08/58] net/bnxt: add action SRAM Translation Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 09/58] net/bnxt: add Thor WC TCAM support Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 10/58] net/bnxt: add 64B SRAM record management with RM Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 11/58] net/bnxt: add hashing changes for Thor Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 12/58] net/bnxt: modify TRUFLOW HWRM messages Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 13/58] net/bnxt: change RM database type Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 14/58] net/bnxt: add shared session support Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 15/58] net/bnxt: add dpool allocator for EM allocation Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 16/58] net/bnxt: update shared session functionality Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 17/58] net/bnxt: modify resource reservation strategy Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 18/58] net/bnxt: shared TCAM region support Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 19/58] net/bnxt: cleanup session open/close messages Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 20/58] net/bnxt: add WC TCAM hi/lo move support Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 21/58] net/bnxt: add API to get shared table increments Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 22/58] net/bnxt: modify host session failure cleanup Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 23/58] net/bnxt: cleanup of WC TCAM shared unbind Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 24/58] net/bnxt: add support for WC TCAM shared session Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 25/58] net/bnxt: add API to clear hi/lo WC region Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 26/58] net/bnxt: check FW capability to support TRUFLOW Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 27/58] net/bnxt: add support for generic table processing Venkat Duvvuru
2021-05-30 8:58 ` [dpdk-dev] [PATCH 28/58] net/bnxt: add support for mapper flow database opcodes Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 29/58] net/bnxt: add conditional execution and rejection Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 30/58] net/bnxt: modify TCAM opcode processing Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 31/58] net/bnxt: modify VXLAN decap for multichannel mode Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 32/58] net/bnxt: modify table processing Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 33/58] net/bnxt: modify ULP priority opcode processing Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 34/58] net/bnxt: add support for conflict resolution Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 35/58] net/bnxt: add support for conditional goto processing Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 36/58] net/bnxt: set shared handle for generic table Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 37/58] net/bnxt: modify ULP template Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 38/58] net/bnxt: add conditional opcode and L4 port fields Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 39/58] net/bnxt: refactor TF ULP Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 40/58] net/bnxt: add partial header field processing Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 41/58] net/bnxt: add support for wild card pattern match Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 42/58] net/bnxt: add support for GRE flows Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 43/58] net/bnxt: enable extended exact match support Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 44/58] net/bnxt: refactor ULP mapper and parser Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 45/58] net/bnxt: add support for generic hash table Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 46/58] net/bnxt: add support for Thor platform Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 47/58] net/bnxt: refactor flow parser in ULP Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 48/58] net/bnxt: add shared session support to ULP Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 49/58] net/bnxt: add field opcodes in ULP Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 50/58] net/bnxt: add support for application ID in ULP matcher Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 51/58] net/bnxt: process resource lists before session open Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 52/58] net/bnxt: add support for shared sessions in ULP Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 53/58] net/bnxt: add HA support " Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 54/58] net/bnxt: add support for icmp6 ULP parsing Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 55/58] net/bnxt: add support for ULP context list for timers Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 56/58] net/bnxt: cleanup ULP parser and mapper Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 57/58] net/bnxt: reorganize ULP template directory structure Venkat Duvvuru
2021-05-30 8:59 ` [dpdk-dev] [PATCH 58/58] net/bnxt: add Thor template support Venkat Duvvuru
2021-06-13 0:05 ` [dpdk-dev] [PATCH v2 00/58] enhancements to host based flow table management Ajit Khaparde
2021-06-13 0:05 ` [dpdk-dev] [PATCH v2 01/58] net/bnxt: add CFA folder to HCAPI directory Ajit Khaparde
2021-06-13 0:05 ` [dpdk-dev] [PATCH v2 02/58] net/bnxt: add base TRUFLOW support for Thor Ajit Khaparde
2021-06-13 0:05 ` [dpdk-dev] [PATCH v2 03/58] net/bnxt: add mailbox selection via dev op Ajit Khaparde
2021-06-13 0:05 ` [dpdk-dev] [PATCH v2 04/58] net/bnxt: check resource reservation in TRUFLOW Ajit Khaparde
2021-06-13 0:05 ` [dpdk-dev] [PATCH v2 05/58] net/bnxt: update TRUFLOW resources Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 06/58] net/bnxt: add support for EM with FKB Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 07/58] net/bnxt: support L2 Context TCAM ops Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 08/58] net/bnxt: add action SRAM translation Ajit Khaparde
2021-07-05 21:23 ` Thomas Monjalon
2021-07-06 22:37 ` [dpdk-dev] [PATCH v3] " Ajit Khaparde
2021-07-06 22:58 ` [dpdk-dev] [PATCH v2 08/58] " Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 09/58] net/bnxt: add Thor WC TCAM support Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 10/58] net/bnxt: add 64B SRAM record management with RM Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 11/58] net/bnxt: add hashing changes for Thor Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 12/58] net/bnxt: modify TRUFLOW HWRM messages Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 13/58] net/bnxt: change RM database type Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 14/58] net/bnxt: add shared session support Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 15/58] net/bnxt: add dpool allocator for EM allocation Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 16/58] net/bnxt: update shared session functionality Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 17/58] net/bnxt: modify resource reservation strategy Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 18/58] net/bnxt: shared TCAM region support Ajit Khaparde
2021-07-05 21:27 ` Thomas Monjalon
2021-07-06 22:39 ` [dpdk-dev] [PATCH v3] " Ajit Khaparde
2021-07-06 22:57 ` [dpdk-dev] [PATCH v2 18/58] " Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 19/58] net/bnxt: cleanup logs in session handling paths Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 20/58] net/bnxt: add WC TCAM management support Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 21/58] net/bnxt: add API to get shared table increments Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 22/58] net/bnxt: refactor host session failure cleanup Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 23/58] net/bnxt: cleanup WC TCAM shared pool Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 24/58] net/bnxt: add support for WC TCAM shared session Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 25/58] net/bnxt: add API to clear TCAM regions Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 26/58] net/bnxt: check FW capability to support TRUFLOW Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 27/58] net/bnxt: add support for generic table processing Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 28/58] net/bnxt: add support for mapper flow database opcodes Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 29/58] net/bnxt: add conditional processing of templates Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 30/58] net/bnxt: modify TCAM opcode processing Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 31/58] net/bnxt: modify VXLAN decap for multichannel mode Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 32/58] net/bnxt: modify table processing Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 33/58] net/bnxt: add ULP priority opcode processing Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 34/58] net/bnxt: add support to identify duplicate flows Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 35/58] net/bnxt: add conditional goto processing Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 36/58] net/bnxt: set shared handle for generic table Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 37/58] net/bnxt: modify ULP template Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 38/58] net/bnxt: add conditional opcode and L4 port fields Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 39/58] net/bnxt: refactor TRUFLOW processing Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 40/58] net/bnxt: add partial header field processing Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 41/58] net/bnxt: add support for wild card pattern match Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 42/58] net/bnxt: add support for GRE flows Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 43/58] net/bnxt: enable extended exact match support Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 44/58] net/bnxt: refactor ULP mapper Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 45/58] net/bnxt: add support for generic hash table Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 46/58] net/bnxt: add support for Thor platform Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 47/58] net/bnxt: refactor flow parser in ULP Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 48/58] net/bnxt: add shared session support to ULP Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 49/58] net/bnxt: add field opcodes in ULP Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 50/58] net/bnxt: add support for application ID in ULP matcher Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 51/58] net/bnxt: process resource lists before session open Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 52/58] net/bnxt: add templates for shared sessions Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 53/58] net/bnxt: add HA support in ULP Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 54/58] net/bnxt: add ICMPv6 parser to ULP Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 55/58] net/bnxt: add context list for timers Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 56/58] net/bnxt: cleanup ULP parser and mapper Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 57/58] net/bnxt: reorganize ULP template directory structure Ajit Khaparde
2021-06-13 0:06 ` [dpdk-dev] [PATCH v2 58/58] net/bnxt: add Thor template support Ajit Khaparde
2021-06-15 19:33 ` [dpdk-dev] [PATCH v2 00/58] enhancements to host based flow table management Ajit Khaparde
2021-07-07 8:43 ` Thomas Monjalon
2021-07-08 3:57 ` Ajit Khaparde
2021-07-08 12:51 ` Thomas Monjalon
2021-07-08 14:37 ` Ajit Khaparde
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=20210530085929.29695-5-venkatkumar.duvvuru@broadcom.com \
--to=venkatkumar.duvvuru@broadcom.com \
--cc=dev@dpdk.org \
--cc=jay.ding@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).