From: Ajit Khaparde <ajit.khaparde@broadcom.com>
To: dev@dpdk.org
Cc: ferruh.yigit@intel.com,
Kishore Padmanabha <kishore.padmanabha@broadcom.com>,
Shahaji Bhosle <sbhosle@broadcom.com>
Subject: [dpdk-dev] [PATCH v2 1/4] net/bnxt: fix loopback parif for egress flows
Date: Fri, 31 Jul 2020 10:22:59 -0700 [thread overview]
Message-ID: <20200731172302.5292-2-ajit.khaparde@broadcom.com> (raw)
In-Reply-To: <20200731172302.5292-1-ajit.khaparde@broadcom.com>
From: Kishore Padmanabha <kishore.padmanabha@broadcom.com>
The full offload egress flows for the VF rep interface should
use loopback parif to offload missed flows.
Fixes: fe82f3e02701 ("net/bnxt: support exact match templates")
Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>
Reviewed-by: Shahaji Bhosle <sbhosle@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 6 ++++++
.../net/bnxt/tf_ulp/ulp_template_db_class.c | 20 +++++++++----------
.../net/bnxt/tf_ulp/ulp_template_db_enum.h | 3 ++-
3 files changed, 18 insertions(+), 11 deletions(-)
diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c
index 861414da9..fcb7c4430 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c
@@ -211,6 +211,12 @@ bnxt_ulp_comp_fld_intf_update(struct ulp_rte_parser_params *params)
ULP_COMP_FLD_IDX_WR(params,
BNXT_ULP_CF_IDX_VF_FUNC_PARIF,
parif);
+
+ /* populate the loopback parif */
+ ULP_COMP_FLD_IDX_WR(params,
+ BNXT_ULP_CF_IDX_LOOPBACK_PARIF,
+ BNXT_ULP_SYM_VF_FUNC_PARIF);
+
} else {
/* Set DRV func PARIF */
if (ulp_port_db_parif_get(params->ulp_ctx, ifindex,
diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_class.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_class.c
index 94160a902..aaa552aeb 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_class.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_class.c
@@ -16731,8 +16731,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_result_field_list[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.result_operand_true = {
- (BNXT_ULP_CF_IDX_VF_FUNC_PARIF >> 8) & 0xff,
- BNXT_ULP_CF_IDX_VF_FUNC_PARIF & 0xff,
+ (BNXT_ULP_CF_IDX_LOOPBACK_PARIF >> 8) & 0xff,
+ BNXT_ULP_CF_IDX_LOOPBACK_PARIF & 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.result_operand_false = {
@@ -16933,8 +16933,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_result_field_list[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.result_operand_true = {
- (BNXT_ULP_CF_IDX_VF_FUNC_PARIF >> 8) & 0xff,
- BNXT_ULP_CF_IDX_VF_FUNC_PARIF & 0xff,
+ (BNXT_ULP_CF_IDX_LOOPBACK_PARIF >> 8) & 0xff,
+ BNXT_ULP_CF_IDX_LOOPBACK_PARIF & 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.result_operand_false = {
@@ -17135,8 +17135,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_result_field_list[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.result_operand_true = {
- (BNXT_ULP_CF_IDX_VF_FUNC_PARIF >> 8) & 0xff,
- BNXT_ULP_CF_IDX_VF_FUNC_PARIF & 0xff,
+ (BNXT_ULP_CF_IDX_LOOPBACK_PARIF >> 8) & 0xff,
+ BNXT_ULP_CF_IDX_LOOPBACK_PARIF & 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.result_operand_false = {
@@ -17337,8 +17337,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_result_field_list[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.result_operand_true = {
- (BNXT_ULP_CF_IDX_VF_FUNC_PARIF >> 8) & 0xff,
- BNXT_ULP_CF_IDX_VF_FUNC_PARIF & 0xff,
+ (BNXT_ULP_CF_IDX_LOOPBACK_PARIF >> 8) & 0xff,
+ BNXT_ULP_CF_IDX_LOOPBACK_PARIF & 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.result_operand_false = {
@@ -17530,8 +17530,8 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_result_field_list[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.result_operand_true = {
- (BNXT_ULP_CF_IDX_VF_FUNC_PARIF >> 8) & 0xff,
- BNXT_ULP_CF_IDX_VF_FUNC_PARIF & 0xff,
+ (BNXT_ULP_CF_IDX_LOOPBACK_PARIF >> 8) & 0xff,
+ BNXT_ULP_CF_IDX_LOOPBACK_PARIF & 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
.result_operand_false = {
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 985591844..4c6c3599d 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h
@@ -132,7 +132,8 @@ enum bnxt_ulp_cf_idx {
BNXT_ULP_CF_IDX_L3_HDR_CNT = 40,
BNXT_ULP_CF_IDX_L4_HDR_CNT = 41,
BNXT_ULP_CF_IDX_VFR_MODE = 42,
- BNXT_ULP_CF_IDX_LAST = 43
+ BNXT_ULP_CF_IDX_LOOPBACK_PARIF = 43,
+ BNXT_ULP_CF_IDX_LAST = 44
};
enum bnxt_ulp_cond_opcode {
--
2.21.1 (Apple Git-122.3)
next prev parent reply other threads:[~2020-07-31 17:23 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-29 14:03 [dpdk-dev] [PATCH 0/4] bnxt patches Somnath Kotur
2020-07-29 14:03 ` [dpdk-dev] [PATCH 1/4] net/bnxt: configure loopback parif for full offload egress flows Somnath Kotur
2020-07-29 21:23 ` [dpdk-dev] [PATCH 0/4] bnxt patches Ajit Khaparde
2020-07-31 17:22 ` [dpdk-dev] [PATCH v2 " Ajit Khaparde
2020-07-31 17:22 ` Ajit Khaparde [this message]
2020-08-05 20:29 ` [dpdk-dev] [PATCH v2 1/4] net/bnxt: fix loopback parif for egress flows Thomas Monjalon
2020-07-31 17:23 ` [dpdk-dev] [PATCH v2 2/4] net/bnxt: fix lookup for default parif action record Ajit Khaparde
2020-08-05 20:28 ` Thomas Monjalon
2020-08-06 1:27 ` Kishore Padmanabha
2020-07-31 17:23 ` [dpdk-dev] [PATCH v2 3/4] net/bnxt: fix cleanup and check for ulp context alloc Ajit Khaparde
2020-08-05 20:27 ` Thomas Monjalon
2020-07-31 17:23 ` [dpdk-dev] [PATCH v2 4/4] net/bnxt: fix vfrep add when VF interface is down Ajit Khaparde
2020-08-05 20:37 ` Thomas Monjalon
2020-09-02 5:31 ` [dpdk-dev] [PATCH v3 0/4] bnxt patches Ajit Khaparde
2020-09-02 5:31 ` [dpdk-dev] [PATCH v3 1/4] net/bnxt: configure loopback parif for egress flows Ajit Khaparde
2020-09-02 5:31 ` [dpdk-dev] [PATCH v3 2/4] net/bnxt: lookup default action record parif Ajit Khaparde
2020-09-02 5:31 ` [dpdk-dev] [PATCH v3 3/4] net/bnxt: cleanups and checks ULP context allocation Ajit Khaparde
2020-09-02 5:31 ` [dpdk-dev] [PATCH v3 4/4] net/bnxt: fix VF representor port add Ajit Khaparde
2020-09-02 19:16 ` [dpdk-dev] [PATCH v3 0/4] bnxt patches 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=20200731172302.5292-2-ajit.khaparde@broadcom.com \
--to=ajit.khaparde@broadcom.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=kishore.padmanabha@broadcom.com \
--cc=sbhosle@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).