DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev]  [PATCH 0/5] bnxt bug fixes
@ 2020-07-09  9:38 Kalesh A P
  2020-07-09  9:38 ` [dpdk-dev] [PATCH 1/5] net/bnxt: fix to avoid unnecessary memory allocation Kalesh A P
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Kalesh A P @ 2020-07-09  9:38 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit, ajit.khaparde

From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>

This patchset contains few bug fixes in bnxt PMD.

Please apply.

Kalesh AP (5):
  net/bnxt: fix to avoid unnecessary memory allocation
  net/bnxt: remove unused enum declaration
  net/bnxt: fix to not send unnecessary hwrm command
  net/bnxt: fix to set flow error when filter create fails
  net/bnxt: fix to free filters when flow create fails

 drivers/net/bnxt/bnxt.h        |  9 ------
 drivers/net/bnxt/bnxt_ethdev.c | 10 ++++---
 drivers/net/bnxt/bnxt_flow.c   | 35 +++++++++++++++--------
 drivers/net/bnxt/bnxt_hwrm.c   | 63 ++++++++++++++----------------------------
 drivers/net/bnxt/bnxt_hwrm.h   |  3 +-
 5 files changed, 52 insertions(+), 68 deletions(-)

-- 
2.10.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-dev] [PATCH 1/5] net/bnxt: fix to avoid unnecessary memory allocation
  2020-07-09  9:38 [dpdk-dev] [PATCH 0/5] bnxt bug fixes Kalesh A P
@ 2020-07-09  9:38 ` Kalesh A P
  2020-07-09  9:38 ` [dpdk-dev] [PATCH 2/5] net/bnxt: remove unused enum declaration Kalesh A P
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Kalesh A P @ 2020-07-09  9:38 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit, ajit.khaparde

From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>

VFs are not privileged to issue HWRM_PORT_LED_QCFG/CFG.
There is no need to allocate "bp->leds" memory.

Fixes: 205b74295282 ("net/bnxt: fix allocation of LED config info")
Cc: stable@dpdk.org

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Kumar Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index d228223..65094a3 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -194,6 +194,9 @@ static void bnxt_free_link_info(struct bnxt *bp)
 
 static void bnxt_free_leds_info(struct bnxt *bp)
 {
+	if (BNXT_VF(bp))
+		return;
+
 	rte_free(bp->leds);
 	bp->leds = NULL;
 }
@@ -263,6 +266,9 @@ static int bnxt_alloc_link_info(struct bnxt *bp)
 
 static int bnxt_alloc_leds_info(struct bnxt *bp)
 {
+	if (BNXT_VF(bp))
+		return 0;
+
 	bp->leds = rte_zmalloc("bnxt_leds",
 			       BNXT_MAX_LED * sizeof(struct bnxt_led_info),
 			       0);
-- 
2.10.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-dev]  [PATCH 2/5] net/bnxt: remove unused enum declaration
  2020-07-09  9:38 [dpdk-dev] [PATCH 0/5] bnxt bug fixes Kalesh A P
  2020-07-09  9:38 ` [dpdk-dev] [PATCH 1/5] net/bnxt: fix to avoid unnecessary memory allocation Kalesh A P
@ 2020-07-09  9:38 ` Kalesh A P
  2020-07-09  9:38 ` [dpdk-dev] [PATCH 3/5] net/bnxt: fix to not send unnecessary hwrm command Kalesh A P
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Kalesh A P @ 2020-07-09  9:38 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit, ajit.khaparde

From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>

"enum bnxt_hw_context" is defined in the header file, but is not
used anywhere.

Fixes: 9738793f28ec ("net/bnxt: add VNIC functions and structs")
Cc: stable@dpdk.org

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Kumar Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt.h | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h
index f69ba24..8325e87 100644
--- a/drivers/net/bnxt/bnxt.h
+++ b/drivers/net/bnxt/bnxt.h
@@ -183,13 +183,6 @@ struct bnxt_led_cfg {
 #define BNXT_LED_DFLT_ENABLES(x)                        \
 	rte_cpu_to_le_32(BNXT_LED_DFLT_ENA << (BNXT_LED_DFLT_ENA_SHIFT * (x)))
 
-enum bnxt_hw_context {
-	HW_CONTEXT_NONE     = 0,
-	HW_CONTEXT_IS_RSS   = 1,
-	HW_CONTEXT_IS_COS   = 2,
-	HW_CONTEXT_IS_LB    = 3,
-};
-
 struct bnxt_vlan_table_entry {
 	uint16_t		tpid;
 	uint16_t		vid;
-- 
2.10.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-dev] [PATCH 3/5] net/bnxt: fix to not send unnecessary hwrm command
  2020-07-09  9:38 [dpdk-dev] [PATCH 0/5] bnxt bug fixes Kalesh A P
  2020-07-09  9:38 ` [dpdk-dev] [PATCH 1/5] net/bnxt: fix to avoid unnecessary memory allocation Kalesh A P
  2020-07-09  9:38 ` [dpdk-dev] [PATCH 2/5] net/bnxt: remove unused enum declaration Kalesh A P
@ 2020-07-09  9:38 ` Kalesh A P
  2020-07-09  9:38 ` [dpdk-dev] [PATCH 4/5] net/bnxt: fix to set flow error when filter create fails Kalesh A P
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Kalesh A P @ 2020-07-09  9:38 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit, ajit.khaparde

From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>

During probe, driver issues HWRM_CFA_ADV_FLOW_MGNT_QCAPS command.
But it is not using the command response anywhere which makes the
fw call redundant.

Remove the unnecessary HWRM_CFA_ADV_FLOW_MGNT_QCAPS call to fw.
Remove the redundant flow_flags in bnxt struct.

Fixes: afef822b2e1b ("net/bnxt: support creating SMAC and inner DMAC filters")
Cc: stable@dpdk.org

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Kumar Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt.h        |  2 --
 drivers/net/bnxt/bnxt_ethdev.c |  4 ----
 drivers/net/bnxt/bnxt_hwrm.c   | 32 --------------------------------
 drivers/net/bnxt/bnxt_hwrm.h   |  1 -
 4 files changed, 39 deletions(-)

diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h
index 8325e87..50f93ff 100644
--- a/drivers/net/bnxt/bnxt.h
+++ b/drivers/net/bnxt/bnxt.h
@@ -638,8 +638,6 @@ struct bnxt {
 #define BNXT_FW_CAP_ADV_FLOW_COUNTERS	BIT(6)
 #define BNXT_FW_CAP_HCOMM_FW_STATUS	BIT(7)
 
-	uint32_t		flow_flags;
-#define BNXT_FLOW_FLAG_L2_HDR_SRC_FILTER_EN	BIT(0)
 	pthread_mutex_t         flow_lock;
 
 	uint32_t		vnic_cap_flags;
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 65094a3..2485a72 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -5472,10 +5472,6 @@ static int bnxt_init_fw(struct bnxt *bp)
 
 	bnxt_hwrm_port_phy_qcaps(bp);
 
-	rc = bnxt_hwrm_cfa_adv_flow_mgmt_qcaps(bp);
-	if (rc)
-		return rc;
-
 	bnxt_alloc_error_recovery_info(bp);
 	/* Get the adapter error recovery support info */
 	rc = bnxt_hwrm_error_recovery_qcfg(bp);
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 6ade32d..f9c7461 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -5320,38 +5320,6 @@ int bnxt_hwrm_port_ts_query(struct bnxt *bp, uint8_t path, uint64_t *timestamp)
 	return rc;
 }
 
-int bnxt_hwrm_cfa_adv_flow_mgmt_qcaps(struct bnxt *bp)
-{
-	struct hwrm_cfa_adv_flow_mgnt_qcaps_output *resp =
-					bp->hwrm_cmd_resp_addr;
-	struct hwrm_cfa_adv_flow_mgnt_qcaps_input req = {0};
-	uint32_t flags = 0;
-	int rc = 0;
-
-	if (!(bp->fw_cap & BNXT_FW_CAP_ADV_FLOW_MGMT))
-		return rc;
-
-	if (!(BNXT_PF(bp) || BNXT_VF_IS_TRUSTED(bp))) {
-		PMD_DRV_LOG(DEBUG,
-			    "Not a PF or trusted VF. Command not supported\n");
-		return 0;
-	}
-
-	HWRM_PREP(&req, HWRM_CFA_ADV_FLOW_MGNT_QCAPS, BNXT_USE_KONG(bp));
-	rc = bnxt_hwrm_send_message(bp, &req, sizeof(req), BNXT_USE_KONG(bp));
-
-	HWRM_CHECK_RESULT();
-	flags = rte_le_to_cpu_32(resp->flags);
-	HWRM_UNLOCK();
-
-	if (flags & HWRM_CFA_ADV_FLOW_MGNT_QCAPS_L2_HDR_SRC_FILTER_EN) {
-		bp->flow_flags |= BNXT_FLOW_FLAG_L2_HDR_SRC_FILTER_EN;
-		PMD_DRV_LOG(INFO, "Source L2 header filtering enabled\n");
-	}
-
-	return rc;
-}
-
 int bnxt_hwrm_cfa_counter_qcaps(struct bnxt *bp, uint16_t *max_fc)
 {
 	int rc = 0;
diff --git a/drivers/net/bnxt/bnxt_hwrm.h b/drivers/net/bnxt/bnxt_hwrm.h
index 9e0b799..1704edd 100644
--- a/drivers/net/bnxt/bnxt_hwrm.h
+++ b/drivers/net/bnxt/bnxt_hwrm.h
@@ -259,7 +259,6 @@ int bnxt_hwrm_error_recovery_qcfg(struct bnxt *bp);
 int bnxt_hwrm_fw_reset(struct bnxt *bp);
 int bnxt_hwrm_port_ts_query(struct bnxt *bp, uint8_t path,
 			    uint64_t *timestamp);
-int bnxt_hwrm_cfa_adv_flow_mgmt_qcaps(struct bnxt *bp);
 int bnxt_hwrm_cfa_counter_qcaps(struct bnxt *bp, uint16_t *max_fc);
 int bnxt_hwrm_ctx_rgtr(struct bnxt *bp, rte_iova_t dma_addr, uint16_t *ctx_id);
 int bnxt_hwrm_ctx_unrgtr(struct bnxt *bp, uint16_t ctx_id);
-- 
2.10.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-dev] [PATCH 4/5] net/bnxt: fix to set flow error when filter create fails
  2020-07-09  9:38 [dpdk-dev] [PATCH 0/5] bnxt bug fixes Kalesh A P
                   ` (2 preceding siblings ...)
  2020-07-09  9:38 ` [dpdk-dev] [PATCH 3/5] net/bnxt: fix to not send unnecessary hwrm command Kalesh A P
@ 2020-07-09  9:38 ` Kalesh A P
  2020-07-09  9:38 ` [dpdk-dev] [PATCH 5/5] net/bnxt: fix to free filters when flow " Kalesh A P
  2020-07-10 14:05 ` [dpdk-dev] [PATCH 0/5] bnxt bug fixes Ajit Khaparde
  5 siblings, 0 replies; 7+ messages in thread
From: Kalesh A P @ 2020-07-09  9:38 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit, ajit.khaparde

From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>

If set_em_filter/set_ntuple_filter cmds fails for some reason,
driver is not filling the "rte_flow_error" string buffer.
Same is the case when flow create fails due to an already
existing mark id for the new flow id created.
This leads to a crash in testpmd while trying to print the
error message.

Fixes: 5c1171c97216 ("net/bnxt: refactor filter/flow")
Fixes: 9db66782bd06 ("net/bnxt: fix supporting zero mark ID with RSS action")
Cc: stable@dpdk.org

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Kumar Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_flow.c | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_flow.c b/drivers/net/bnxt/bnxt_flow.c
index 19bc66a..499dcdf 100644
--- a/drivers/net/bnxt/bnxt_flow.c
+++ b/drivers/net/bnxt/bnxt_flow.c
@@ -1786,12 +1786,24 @@ bnxt_flow_create(struct rte_eth_dev *dev,
 		filter->enables |=
 			HWRM_CFA_EM_FLOW_ALLOC_INPUT_ENABLES_L2_FILTER_ID;
 		ret = bnxt_hwrm_set_em_filter(bp, filter->dst_id, filter);
+		if (ret != 0) {
+			rte_flow_error_set(error, -ret,
+					   RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
+					   "Failed to create EM filter");
+			goto free_filter;
+		}
 	}
 
 	if (filter->filter_type == HWRM_CFA_NTUPLE_FILTER) {
 		filter->enables |=
 			HWRM_CFA_NTUPLE_FILTER_ALLOC_INPUT_ENABLES_L2_FILTER_ID;
 		ret = bnxt_hwrm_set_ntuple_filter(bp, filter->dst_id, filter);
+		if (ret != 0) {
+			rte_flow_error_set(error, -ret,
+					   RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
+					   "Failed to create ntuple filter");
+			goto free_filter;
+		}
 	}
 
 	vnic = find_matching_vnic(bp, filter);
@@ -1817,10 +1829,10 @@ bnxt_flow_create(struct rte_eth_dev *dev,
 			 */
 			flow_id = filter->flow_id & BNXT_FLOW_ID_MASK;
 			if (bp->mark_table[flow_id].valid) {
-				PMD_DRV_LOG(ERR,
-					    "Entry for Mark id 0x%x occupied"
-					    " flow id 0x%x\n",
-					    filter->mark, filter->flow_id);
+				rte_flow_error_set(error, EEXIST,
+						   RTE_FLOW_ERROR_TYPE_HANDLE,
+						   NULL,
+						   "Flow with mark id exists");
 				goto free_filter;
 			}
 			bp->mark_table[flow_id].valid = true;
-- 
2.10.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-dev] [PATCH 5/5] net/bnxt: fix to free filters when flow create fails
  2020-07-09  9:38 [dpdk-dev] [PATCH 0/5] bnxt bug fixes Kalesh A P
                   ` (3 preceding siblings ...)
  2020-07-09  9:38 ` [dpdk-dev] [PATCH 4/5] net/bnxt: fix to set flow error when filter create fails Kalesh A P
@ 2020-07-09  9:38 ` Kalesh A P
  2020-07-10 14:05 ` [dpdk-dev] [PATCH 0/5] bnxt bug fixes Ajit Khaparde
  5 siblings, 0 replies; 7+ messages in thread
From: Kalesh A P @ 2020-07-09  9:38 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit, ajit.khaparde

From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>

This patch does following things:
1. Added a wrapper function bnxt_clear_one_vnic_filter()
   for destroying the filters in hw. This will avoid duplicate
   code in many places.
2. When flow creae fails due to an already existing mark id
   for the new flow id created, fixed to destroy the hw
   filter created.
3. Re-arranged code to move a log and list update to right place.

Fixes: 9db66782bd06 ("net/bnxt: fix supporting zero mark ID with RSS action")
Fixes: 5ef3b79fdfe6 ("net/bnxt: support flow filter ops")
Cc: stable@dpdk.org

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Kumar Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_flow.c | 15 +++++++--------
 drivers/net/bnxt/bnxt_hwrm.c | 31 +++++++++++++++++++++----------
 drivers/net/bnxt/bnxt_hwrm.h |  2 ++
 3 files changed, 30 insertions(+), 18 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_flow.c b/drivers/net/bnxt/bnxt_flow.c
index 499dcdf..320b53d 100644
--- a/drivers/net/bnxt/bnxt_flow.c
+++ b/drivers/net/bnxt/bnxt_flow.c
@@ -1816,9 +1816,6 @@ bnxt_flow_create(struct rte_eth_dev *dev,
 			goto free_flow;
 		}
 
-		STAILQ_INSERT_TAIL(&vnic->filter, filter, next);
-		PMD_DRV_LOG(DEBUG, "Successfully created flow.\n");
-		STAILQ_INSERT_TAIL(&vnic->flow_list, flow, next);
 		if (filter->valid_flags & BNXT_FLOW_MARK_FLAG) {
 			PMD_DRV_LOG(DEBUG,
 				    "Mark action: mark id 0x%x, flow id 0x%x\n",
@@ -1833,15 +1830,21 @@ bnxt_flow_create(struct rte_eth_dev *dev,
 						   RTE_FLOW_ERROR_TYPE_HANDLE,
 						   NULL,
 						   "Flow with mark id exists");
+				bnxt_clear_one_vnic_filter(bp, filter);
 				goto free_filter;
 			}
 			bp->mark_table[flow_id].valid = true;
 			bp->mark_table[flow_id].mark_id = filter->mark;
 		}
+
+		STAILQ_INSERT_TAIL(&vnic->filter, filter, next);
+		STAILQ_INSERT_TAIL(&vnic->flow_list, flow, next);
+
 		if (BNXT_FLOW_XSTATS_EN(bp))
 			bp->flow_stat->flow_count++;
 		bnxt_release_flow_lock(bp);
 		bnxt_setup_flow_counter(bp);
+		PMD_DRV_LOG(DEBUG, "Successfully created flow.\n");
 		return flow;
 	}
 
@@ -1940,11 +1943,7 @@ _bnxt_flow_destroy(struct bnxt *bp,
 		filter->flow_id = 0;
 	}
 
-	if (filter->filter_type == HWRM_CFA_EM_FILTER)
-		ret = bnxt_hwrm_clear_em_filter(bp, filter);
-	if (filter->filter_type == HWRM_CFA_NTUPLE_FILTER)
-		ret = bnxt_hwrm_clear_ntuple_filter(bp, filter);
-	ret = bnxt_hwrm_clear_l2_filter(bp, filter);
+	ret = bnxt_clear_one_vnic_filter(bp, filter);
 
 done:
 	if (!ret) {
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index f9c7461..7ea13a8 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -2613,6 +2613,25 @@ int bnxt_alloc_hwrm_resources(struct bnxt *bp)
 	return 0;
 }
 
+int
+bnxt_clear_one_vnic_filter(struct bnxt *bp, struct bnxt_filter_info *filter)
+{
+	int rc = 0;
+
+	if (filter->filter_type == HWRM_CFA_EM_FILTER) {
+		rc = bnxt_hwrm_clear_em_filter(bp, filter);
+		if (rc)
+			return rc;
+	} else if (filter->filter_type == HWRM_CFA_NTUPLE_FILTER) {
+		rc = bnxt_hwrm_clear_ntuple_filter(bp, filter);
+		if (rc)
+			return rc;
+	}
+
+	rc = bnxt_hwrm_clear_l2_filter(bp, filter);
+	return rc;
+}
+
 static int
 bnxt_clear_hwrm_vnic_filters(struct bnxt *bp, struct bnxt_vnic_info *vnic)
 {
@@ -2620,11 +2639,7 @@ bnxt_clear_hwrm_vnic_filters(struct bnxt *bp, struct bnxt_vnic_info *vnic)
 	int rc = 0;
 
 	STAILQ_FOREACH(filter, &vnic->filter, next) {
-		if (filter->filter_type == HWRM_CFA_EM_FILTER)
-			rc = bnxt_hwrm_clear_em_filter(bp, filter);
-		else if (filter->filter_type == HWRM_CFA_NTUPLE_FILTER)
-			rc = bnxt_hwrm_clear_ntuple_filter(bp, filter);
-		rc = bnxt_hwrm_clear_l2_filter(bp, filter);
+		rc = bnxt_clear_one_vnic_filter(bp, filter);
 		STAILQ_REMOVE(&vnic->filter, filter, bnxt_filter_info, next);
 		bnxt_free_filter(bp, filter);
 	}
@@ -2642,11 +2657,7 @@ bnxt_clear_hwrm_vnic_flows(struct bnxt *bp, struct bnxt_vnic_info *vnic)
 		flow = STAILQ_FIRST(&vnic->flow_list);
 		filter = flow->filter;
 		PMD_DRV_LOG(DEBUG, "filter type %d\n", filter->filter_type);
-		if (filter->filter_type == HWRM_CFA_EM_FILTER)
-			rc = bnxt_hwrm_clear_em_filter(bp, filter);
-		else if (filter->filter_type == HWRM_CFA_NTUPLE_FILTER)
-			rc = bnxt_hwrm_clear_ntuple_filter(bp, filter);
-		rc = bnxt_hwrm_clear_l2_filter(bp, filter);
+		rc = bnxt_clear_one_vnic_filter(bp, filter);
 
 		STAILQ_REMOVE(&vnic->flow_list, flow, rte_flow, next);
 		rte_free(flow);
diff --git a/drivers/net/bnxt/bnxt_hwrm.h b/drivers/net/bnxt/bnxt_hwrm.h
index 1704edd..01201a7 100644
--- a/drivers/net/bnxt/bnxt_hwrm.h
+++ b/drivers/net/bnxt/bnxt_hwrm.h
@@ -276,4 +276,6 @@ int bnxt_hwrm_get_dflt_vnic_svif(struct bnxt *bp, uint16_t fid,
 int bnxt_hwrm_parent_pf_qcfg(struct bnxt *bp);
 int bnxt_hwrm_port_phy_qcaps(struct bnxt *bp);
 int bnxt_hwrm_oem_cmd(struct bnxt *bp, uint32_t entry_num);
+int bnxt_clear_one_vnic_filter(struct bnxt *bp,
+			       struct bnxt_filter_info *filter);
 #endif
-- 
2.10.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-dev] [PATCH 0/5] bnxt bug fixes
  2020-07-09  9:38 [dpdk-dev] [PATCH 0/5] bnxt bug fixes Kalesh A P
                   ` (4 preceding siblings ...)
  2020-07-09  9:38 ` [dpdk-dev] [PATCH 5/5] net/bnxt: fix to free filters when flow " Kalesh A P
@ 2020-07-10 14:05 ` Ajit Khaparde
  5 siblings, 0 replies; 7+ messages in thread
From: Ajit Khaparde @ 2020-07-10 14:05 UTC (permalink / raw)
  To: Kalesh A P; +Cc: dpdk-dev, Ferruh Yigit

On Thu, Jul 9, 2020 at 2:23 AM Kalesh A P <
kalesh-anakkur.purayil@broadcom.com> wrote:

> From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
>
> This patchset contains few bug fixes in bnxt PMD.
>
> Please apply.
>
> Kalesh AP (5):
>   net/bnxt: fix to avoid unnecessary memory allocation
>   net/bnxt: remove unused enum declaration
>   net/bnxt: fix to not send unnecessary hwrm command
>   net/bnxt: fix to set flow error when filter create fails
>   net/bnxt: fix to free filters when flow create fails
>
>  drivers/net/bnxt/bnxt.h        |  9 ------
>  drivers/net/bnxt/bnxt_ethdev.c | 10 ++++---
>  drivers/net/bnxt/bnxt_flow.c   | 35 +++++++++++++++--------
>  drivers/net/bnxt/bnxt_hwrm.c   | 63
> ++++++++++++++----------------------------
>  drivers/net/bnxt/bnxt_hwrm.h   |  3 +-
>  5 files changed, 52 insertions(+), 68 deletions(-)
>
Patchset applied to dpdk-next-net-brcm. Thanks


>
> --
> 2.10.1
>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-07-10 14:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-09  9:38 [dpdk-dev] [PATCH 0/5] bnxt bug fixes Kalesh A P
2020-07-09  9:38 ` [dpdk-dev] [PATCH 1/5] net/bnxt: fix to avoid unnecessary memory allocation Kalesh A P
2020-07-09  9:38 ` [dpdk-dev] [PATCH 2/5] net/bnxt: remove unused enum declaration Kalesh A P
2020-07-09  9:38 ` [dpdk-dev] [PATCH 3/5] net/bnxt: fix to not send unnecessary hwrm command Kalesh A P
2020-07-09  9:38 ` [dpdk-dev] [PATCH 4/5] net/bnxt: fix to set flow error when filter create fails Kalesh A P
2020-07-09  9:38 ` [dpdk-dev] [PATCH 5/5] net/bnxt: fix to free filters when flow " Kalesh A P
2020-07-10 14:05 ` [dpdk-dev] [PATCH 0/5] bnxt bug fixes Ajit Khaparde

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).