DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 00/14] bnxt patches
@ 2020-07-17 14:10 Somnath Kotur
  2020-07-17 14:11 ` [dpdk-dev] [PATCH 01/14] net/bnxt: changes to support new RM and multi-region Somnath Kotur
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Somnath Kotur @ 2020-07-17 14:10 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit

From: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>

Some changes, cleanups/fixes in the TF-ULP layer

Farah Smith (2):
  net/bnxt: initialize table scope rm parameters
  net/bnxt: fix em message size

Jay Ding (1):
  net/bnxt: replace NAT IPv4 action SRC/DEST

Kishore Padmanabha (6):
  net/bnxt: enable default flows in truflow mode
  net/bnxt: add protocol header info based on proto field data
  net/bnxt: fix dereference of a null pointer
  net/bnxt: default egress rule changes
  net/bnxt: update cfa truflow resource allocation numbers
  net/bnxt: enable support for exact match templates

Peter Spreadborough (1):
  net/bnxt: changes to support new RM and multi-region

Randy Schacher (2):
  net/bnxt: clean up em message definition
  net/bnxt: change header to SPDX-License

Somnath Kotur (2):
  net/bnxt: fix to avoid accumulation of flow counters
  net/bnxt: remove unnecessary debug log

 drivers/net/bnxt/bnxt_ethdev.c                  |     5 +-
 drivers/net/bnxt/tf_core/cfa_resource_types.h   |   207 +-
 drivers/net/bnxt/tf_core/tf_core.h              |    16 +-
 drivers/net/bnxt/tf_core/tf_device_p4.h         |    13 +-
 drivers/net/bnxt/tf_core/tf_em_common.c         |     2 +-
 drivers/net/bnxt/tf_core/tf_msg.c               |     3 +-
 drivers/net/bnxt/tf_core/tf_util.c              |    18 +-
 drivers/net/bnxt/tf_ulp/bnxt_ulp.c              |    35 +-
 drivers/net/bnxt/tf_ulp/bnxt_ulp.h              |     9 +
 drivers/net/bnxt/tf_ulp/ulp_def_rules.c         |    11 +-
 drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c            |     4 +-
 drivers/net/bnxt/tf_ulp/ulp_mapper.c            |     3 -
 drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c          |     8 +-
 drivers/net/bnxt/tf_ulp/ulp_rte_parser.c        |   180 +-
 drivers/net/bnxt/tf_ulp/ulp_template_db_act.c   |  2547 +++-
 drivers/net/bnxt/tf_ulp/ulp_template_db_class.c | 17417 ++++++++++++++++++----
 drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h  |   328 +-
 drivers/net/bnxt/tf_ulp/ulp_template_db_field.h |   959 +-
 drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c   |   478 +-
 drivers/net/bnxt/tf_ulp/ulp_template_struct.h   |     1 +
 20 files changed, 18533 insertions(+), 3711 deletions(-)

-- 
2.7.4


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

* [dpdk-dev] [PATCH 01/14] net/bnxt: changes to support new RM and multi-region
  2020-07-17 14:10 [dpdk-dev] [PATCH 00/14] bnxt patches Somnath Kotur
@ 2020-07-17 14:11 ` Somnath Kotur
  2020-07-17 14:11 ` [dpdk-dev] [PATCH 02/14] net/bnxt: initialize table scope rm parameters Somnath Kotur
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Somnath Kotur @ 2020-07-17 14:11 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit

From: Peter Spreadborough <peter.spreadborough@broadcom.com>

- Updated CFA resource types
- Updated references
- Add High/low

Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com>
Reviewed-by: Farah Smith <farah.smith@broadcom.com>
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
 drivers/net/bnxt/tf_core/cfa_resource_types.h   | 194 ++++++++++++------------
 drivers/net/bnxt/tf_core/tf_core.h              |  12 +-
 drivers/net/bnxt/tf_core/tf_device_p4.h         |  14 +-
 drivers/net/bnxt/tf_core/tf_util.c              |  12 +-
 drivers/net/bnxt/tf_ulp/bnxt_ulp.c              |  10 +-
 drivers/net/bnxt/tf_ulp/ulp_template_db_class.c |  38 ++---
 drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c   |   4 +-
 7 files changed, 152 insertions(+), 132 deletions(-)

diff --git a/drivers/net/bnxt/tf_core/cfa_resource_types.h b/drivers/net/bnxt/tf_core/cfa_resource_types.h
index 6d6651f..45b26b2 100644
--- a/drivers/net/bnxt/tf_core/cfa_resource_types.h
+++ b/drivers/net/bnxt/tf_core/cfa_resource_types.h
@@ -18,53 +18,57 @@
  */
 #define CFA_RESOURCE_TYPE_INVALID 65535
 
-/* L2 Context TCAM */
-#define CFA_RESOURCE_TYPE_P59_L2_CTXT_TCAM    0x0UL
-/* L2 Context REMAP */
-#define CFA_RESOURCE_TYPE_P59_L2_CTXT_REMAP   0x1UL
+/* L2 Context TCAM High priority entries */
+#define CFA_RESOURCE_TYPE_P59_L2_CTXT_TCAM_HIGH  0x0UL
+/* L2 Context TCAM Low priority entries */
+#define CFA_RESOURCE_TYPE_P59_L2_CTXT_TCAM_LOW   0x1UL
+/* L2 Context REMAP high priority entries */
+#define CFA_RESOURCE_TYPE_P59_L2_CTXT_REMAP_HIGH 0x2UL
+/* L2 Context REMAP Low priority entries */
+#define CFA_RESOURCE_TYPE_P59_L2_CTXT_REMAP_LOW  0x3UL
 /* Profile Func */
-#define CFA_RESOURCE_TYPE_P59_PROF_FUNC       0x2UL
+#define CFA_RESOURCE_TYPE_P59_PROF_FUNC          0x4UL
 /* Profile TCAM */
-#define CFA_RESOURCE_TYPE_P59_PROF_TCAM       0x3UL
+#define CFA_RESOURCE_TYPE_P59_PROF_TCAM          0x5UL
 /* Exact Match Profile Id */
-#define CFA_RESOURCE_TYPE_P59_EM_PROF_ID      0x4UL
+#define CFA_RESOURCE_TYPE_P59_EM_PROF_ID         0x6UL
 /* Wildcard TCAM Profile Id */
-#define CFA_RESOURCE_TYPE_P59_WC_TCAM_PROF_ID 0x5UL
+#define CFA_RESOURCE_TYPE_P59_WC_TCAM_PROF_ID    0x7UL
 /* Wildcard TCAM */
-#define CFA_RESOURCE_TYPE_P59_WC_TCAM         0x6UL
+#define CFA_RESOURCE_TYPE_P59_WC_TCAM            0x8UL
 /* Meter Profile */
-#define CFA_RESOURCE_TYPE_P59_METER_PROF      0x7UL
+#define CFA_RESOURCE_TYPE_P59_METER_PROF         0x9UL
 /* Meter */
-#define CFA_RESOURCE_TYPE_P59_METER           0x8UL
+#define CFA_RESOURCE_TYPE_P59_METER              0xaUL
 /* Meter */
-#define CFA_RESOURCE_TYPE_P59_MIRROR          0x9UL
+#define CFA_RESOURCE_TYPE_P59_MIRROR             0xbUL
 /* Source Properties TCAM */
-#define CFA_RESOURCE_TYPE_P59_SP_TCAM         0xaUL
+#define CFA_RESOURCE_TYPE_P59_SP_TCAM            0xcUL
 /* Exact Match Flexible Key Builder */
-#define CFA_RESOURCE_TYPE_P59_EM_FKB          0xbUL
+#define CFA_RESOURCE_TYPE_P59_EM_FKB             0xdUL
 /* Wildcard Flexible Key Builder */
-#define CFA_RESOURCE_TYPE_P59_WC_FKB          0xcUL
+#define CFA_RESOURCE_TYPE_P59_WC_FKB             0xeUL
 /* Table Scope */
-#define CFA_RESOURCE_TYPE_P59_TBL_SCOPE       0xdUL
+#define CFA_RESOURCE_TYPE_P59_TBL_SCOPE          0xfUL
 /* L2 Func */
-#define CFA_RESOURCE_TYPE_P59_L2_FUNC         0xeUL
+#define CFA_RESOURCE_TYPE_P59_L2_FUNC            0x10UL
 /* EPOCH 0 */
-#define CFA_RESOURCE_TYPE_P59_EPOCH0          0xfUL
+#define CFA_RESOURCE_TYPE_P59_EPOCH0             0x11UL
 /* EPOCH 1 */
-#define CFA_RESOURCE_TYPE_P59_EPOCH1          0x10UL
+#define CFA_RESOURCE_TYPE_P59_EPOCH1             0x12UL
 /* Metadata */
-#define CFA_RESOURCE_TYPE_P59_METADATA        0x11UL
+#define CFA_RESOURCE_TYPE_P59_METADATA           0x13UL
 /* Connection Tracking Rule TCAM */
-#define CFA_RESOURCE_TYPE_P59_CT_RULE_TCAM    0x12UL
+#define CFA_RESOURCE_TYPE_P59_CT_RULE_TCAM       0x14UL
 /* Range Profile */
-#define CFA_RESOURCE_TYPE_P59_RANGE_PROF      0x13UL
+#define CFA_RESOURCE_TYPE_P59_RANGE_PROF         0x15UL
 /* Range */
-#define CFA_RESOURCE_TYPE_P59_RANGE           0x14UL
+#define CFA_RESOURCE_TYPE_P59_RANGE              0x16UL
 /* Link Aggrigation */
-#define CFA_RESOURCE_TYPE_P59_LAG             0x15UL
+#define CFA_RESOURCE_TYPE_P59_LAG                0x17UL
 /* VEB TCAM */
-#define CFA_RESOURCE_TYPE_P59_VEB_TCAM        0x16UL
-#define CFA_RESOURCE_TYPE_P59_LAST           CFA_RESOURCE_TYPE_P59_VEB_TCAM
+#define CFA_RESOURCE_TYPE_P59_VEB_TCAM           0x18UL
+#define CFA_RESOURCE_TYPE_P59_LAST              CFA_RESOURCE_TYPE_P59_VEB_TCAM
 
 
 /* Multicast Group */
@@ -81,40 +85,40 @@
 #define CFA_RESOURCE_TYPE_P58_SP_MAC_IPV4         0x5UL
 /* Source Property MAC and IPv6 */
 #define CFA_RESOURCE_TYPE_P58_SP_MAC_IPV6         0x6UL
-/* Network Address Translation Source Port */
-#define CFA_RESOURCE_TYPE_P58_NAT_SPORT           0x7UL
-/* Network Address Translation Destination Port */
-#define CFA_RESOURCE_TYPE_P58_NAT_DPORT           0x8UL
-/* Network Address Translation Source IPv4 address */
-#define CFA_RESOURCE_TYPE_P58_NAT_S_IPV4          0x9UL
-/* Network Address Translation Destination IPv4 address */
-#define CFA_RESOURCE_TYPE_P58_NAT_D_IPV4          0xaUL
+/* Network Address Translation Port */
+#define CFA_RESOURCE_TYPE_P58_NAT_PORT            0x7UL
+/* Network Address Translation IPv4 address */
+#define CFA_RESOURCE_TYPE_P58_NAT_IPV4            0x8UL
 /* Meter */
-#define CFA_RESOURCE_TYPE_P58_METER               0xbUL
+#define CFA_RESOURCE_TYPE_P58_METER               0x9UL
 /* Flow State */
-#define CFA_RESOURCE_TYPE_P58_FLOW_STATE          0xcUL
+#define CFA_RESOURCE_TYPE_P58_FLOW_STATE          0xaUL
 /* Full Action Records */
-#define CFA_RESOURCE_TYPE_P58_FULL_ACTION         0xdUL
+#define CFA_RESOURCE_TYPE_P58_FULL_ACTION         0xbUL
 /* Action Record Format 0 */
-#define CFA_RESOURCE_TYPE_P58_FORMAT_0_ACTION     0xeUL
+#define CFA_RESOURCE_TYPE_P58_FORMAT_0_ACTION     0xcUL
 /* Action Record Ext Format 0 */
-#define CFA_RESOURCE_TYPE_P58_EXT_FORMAT_0_ACTION 0xfUL
+#define CFA_RESOURCE_TYPE_P58_EXT_FORMAT_0_ACTION 0xdUL
 /* Action Record Format 1 */
-#define CFA_RESOURCE_TYPE_P58_FORMAT_1_ACTION     0x10UL
+#define CFA_RESOURCE_TYPE_P58_FORMAT_1_ACTION     0xeUL
 /* Action Record Format 2 */
-#define CFA_RESOURCE_TYPE_P58_FORMAT_2_ACTION     0x11UL
+#define CFA_RESOURCE_TYPE_P58_FORMAT_2_ACTION     0xfUL
 /* Action Record Format 3 */
-#define CFA_RESOURCE_TYPE_P58_FORMAT_3_ACTION     0x12UL
+#define CFA_RESOURCE_TYPE_P58_FORMAT_3_ACTION     0x10UL
 /* Action Record Format 4 */
-#define CFA_RESOURCE_TYPE_P58_FORMAT_4_ACTION     0x13UL
+#define CFA_RESOURCE_TYPE_P58_FORMAT_4_ACTION     0x11UL
 /* Action Record Format 5 */
-#define CFA_RESOURCE_TYPE_P58_FORMAT_5_ACTION     0x14UL
+#define CFA_RESOURCE_TYPE_P58_FORMAT_5_ACTION     0x12UL
 /* Action Record Format 6 */
-#define CFA_RESOURCE_TYPE_P58_FORMAT_6_ACTION     0x15UL
-/* L2 Context TCAM */
-#define CFA_RESOURCE_TYPE_P58_L2_CTXT_TCAM        0x16UL
-/* L2 Context REMAP */
-#define CFA_RESOURCE_TYPE_P58_L2_CTXT_REMAP       0x17UL
+#define CFA_RESOURCE_TYPE_P58_FORMAT_6_ACTION     0x13UL
+/* L2 Context TCAM High priority entries */
+#define CFA_RESOURCE_TYPE_P58_L2_CTXT_TCAM_HIGH   0x14UL
+/* L2 Context TCAM Low priority entries */
+#define CFA_RESOURCE_TYPE_P58_L2_CTXT_TCAM_LOW    0x15UL
+/* L2 Context REMAP high priority entries */
+#define CFA_RESOURCE_TYPE_P58_L2_CTXT_REMAP_HIGH  0x16UL
+/* L2 Context REMAP Low priority entries */
+#define CFA_RESOURCE_TYPE_P58_L2_CTXT_REMAP_LOW   0x17UL
 /* Profile Func */
 #define CFA_RESOURCE_TYPE_P58_PROF_FUNC           0x18UL
 /* Profile TCAM */
@@ -158,40 +162,40 @@
 #define CFA_RESOURCE_TYPE_P45_SP_MAC_IPV6         0x6UL
 /* 64B Counters */
 #define CFA_RESOURCE_TYPE_P45_COUNTER_64B         0x7UL
-/* Network Address Translation Source Port */
-#define CFA_RESOURCE_TYPE_P45_NAT_SPORT           0x8UL
-/* Network Address Translation Destination Port */
-#define CFA_RESOURCE_TYPE_P45_NAT_DPORT           0x9UL
-/* Network Address Translation Source IPv4 address */
-#define CFA_RESOURCE_TYPE_P45_NAT_S_IPV4          0xaUL
-/* Network Address Translation Destination IPv4 address */
-#define CFA_RESOURCE_TYPE_P45_NAT_D_IPV4          0xbUL
+/* Network Address Translation Port */
+#define CFA_RESOURCE_TYPE_P45_NAT_PORT            0x8UL
+/* Network Address Translation IPv4 address */
+#define CFA_RESOURCE_TYPE_P45_NAT_IPV4            0x9UL
 /* Meter */
-#define CFA_RESOURCE_TYPE_P45_METER               0xcUL
+#define CFA_RESOURCE_TYPE_P45_METER               0xaUL
 /* Flow State */
-#define CFA_RESOURCE_TYPE_P45_FLOW_STATE          0xdUL
+#define CFA_RESOURCE_TYPE_P45_FLOW_STATE          0xbUL
 /* Full Action Records */
-#define CFA_RESOURCE_TYPE_P45_FULL_ACTION         0xeUL
+#define CFA_RESOURCE_TYPE_P45_FULL_ACTION         0xcUL
 /* Action Record Format 0 */
-#define CFA_RESOURCE_TYPE_P45_FORMAT_0_ACTION     0xfUL
+#define CFA_RESOURCE_TYPE_P45_FORMAT_0_ACTION     0xdUL
 /* Action Record Ext Format 0 */
-#define CFA_RESOURCE_TYPE_P45_EXT_FORMAT_0_ACTION 0x10UL
+#define CFA_RESOURCE_TYPE_P45_EXT_FORMAT_0_ACTION 0xeUL
 /* Action Record Format 1 */
-#define CFA_RESOURCE_TYPE_P45_FORMAT_1_ACTION     0x11UL
+#define CFA_RESOURCE_TYPE_P45_FORMAT_1_ACTION     0xfUL
 /* Action Record Format 2 */
-#define CFA_RESOURCE_TYPE_P45_FORMAT_2_ACTION     0x12UL
+#define CFA_RESOURCE_TYPE_P45_FORMAT_2_ACTION     0x10UL
 /* Action Record Format 3 */
-#define CFA_RESOURCE_TYPE_P45_FORMAT_3_ACTION     0x13UL
+#define CFA_RESOURCE_TYPE_P45_FORMAT_3_ACTION     0x11UL
 /* Action Record Format 4 */
-#define CFA_RESOURCE_TYPE_P45_FORMAT_4_ACTION     0x14UL
+#define CFA_RESOURCE_TYPE_P45_FORMAT_4_ACTION     0x12UL
 /* Action Record Format 5 */
-#define CFA_RESOURCE_TYPE_P45_FORMAT_5_ACTION     0x15UL
+#define CFA_RESOURCE_TYPE_P45_FORMAT_5_ACTION     0x13UL
 /* Action Record Format 6 */
-#define CFA_RESOURCE_TYPE_P45_FORMAT_6_ACTION     0x16UL
-/* L2 Context TCAM */
-#define CFA_RESOURCE_TYPE_P45_L2_CTXT_TCAM        0x17UL
-/* L2 Context REMAP */
-#define CFA_RESOURCE_TYPE_P45_L2_CTXT_REMAP       0x18UL
+#define CFA_RESOURCE_TYPE_P45_FORMAT_6_ACTION     0x14UL
+/* L2 Context TCAM High priority entries */
+#define CFA_RESOURCE_TYPE_P45_L2_CTXT_TCAM_HIGH   0x15UL
+/* L2 Context TCAM Low priority entries */
+#define CFA_RESOURCE_TYPE_P45_L2_CTXT_TCAM_LOW    0x16UL
+/* L2 Context REMAP high priority entries */
+#define CFA_RESOURCE_TYPE_P45_L2_CTXT_REMAP_HIGH  0x17UL
+/* L2 Context REMAP Low priority entries */
+#define CFA_RESOURCE_TYPE_P45_L2_CTXT_REMAP_LOW   0x18UL
 /* Profile Func */
 #define CFA_RESOURCE_TYPE_P45_PROF_FUNC           0x19UL
 /* Profile TCAM */
@@ -233,40 +237,40 @@
 #define CFA_RESOURCE_TYPE_P4_SP_MAC_IPV6         0x6UL
 /* 64B Counters */
 #define CFA_RESOURCE_TYPE_P4_COUNTER_64B         0x7UL
-/* Network Address Translation Source Port */
-#define CFA_RESOURCE_TYPE_P4_NAT_SPORT           0x8UL
-/* Network Address Translation Destination Port */
-#define CFA_RESOURCE_TYPE_P4_NAT_DPORT           0x9UL
-/* Network Address Translation Source IPv4 address */
-#define CFA_RESOURCE_TYPE_P4_NAT_S_IPV4          0xaUL
-/* Network Address Translation Destination IPv4 address */
-#define CFA_RESOURCE_TYPE_P4_NAT_D_IPV4          0xbUL
+/* Network Address Translation Port */
+#define CFA_RESOURCE_TYPE_P4_NAT_PORT            0x8UL
+/* Network Address Translation IPv4 address */
+#define CFA_RESOURCE_TYPE_P4_NAT_IPV4            0x9UL
 /* Meter */
-#define CFA_RESOURCE_TYPE_P4_METER               0xcUL
+#define CFA_RESOURCE_TYPE_P4_METER               0xaUL
 /* Flow State */
-#define CFA_RESOURCE_TYPE_P4_FLOW_STATE          0xdUL
+#define CFA_RESOURCE_TYPE_P4_FLOW_STATE          0xbUL
 /* Full Action Records */
-#define CFA_RESOURCE_TYPE_P4_FULL_ACTION         0xeUL
+#define CFA_RESOURCE_TYPE_P4_FULL_ACTION         0xcUL
 /* Action Record Format 0 */
-#define CFA_RESOURCE_TYPE_P4_FORMAT_0_ACTION     0xfUL
+#define CFA_RESOURCE_TYPE_P4_FORMAT_0_ACTION     0xdUL
 /* Action Record Ext Format 0 */
-#define CFA_RESOURCE_TYPE_P4_EXT_FORMAT_0_ACTION 0x10UL
+#define CFA_RESOURCE_TYPE_P4_EXT_FORMAT_0_ACTION 0xeUL
 /* Action Record Format 1 */
-#define CFA_RESOURCE_TYPE_P4_FORMAT_1_ACTION     0x11UL
+#define CFA_RESOURCE_TYPE_P4_FORMAT_1_ACTION     0xfUL
 /* Action Record Format 2 */
-#define CFA_RESOURCE_TYPE_P4_FORMAT_2_ACTION     0x12UL
+#define CFA_RESOURCE_TYPE_P4_FORMAT_2_ACTION     0x10UL
 /* Action Record Format 3 */
-#define CFA_RESOURCE_TYPE_P4_FORMAT_3_ACTION     0x13UL
+#define CFA_RESOURCE_TYPE_P4_FORMAT_3_ACTION     0x11UL
 /* Action Record Format 4 */
-#define CFA_RESOURCE_TYPE_P4_FORMAT_4_ACTION     0x14UL
+#define CFA_RESOURCE_TYPE_P4_FORMAT_4_ACTION     0x12UL
 /* Action Record Format 5 */
-#define CFA_RESOURCE_TYPE_P4_FORMAT_5_ACTION     0x15UL
+#define CFA_RESOURCE_TYPE_P4_FORMAT_5_ACTION     0x13UL
 /* Action Record Format 6 */
-#define CFA_RESOURCE_TYPE_P4_FORMAT_6_ACTION     0x16UL
-/* L2 Context TCAM */
-#define CFA_RESOURCE_TYPE_P4_L2_CTXT_TCAM        0x17UL
-/* L2 Context REMAP */
-#define CFA_RESOURCE_TYPE_P4_L2_CTXT_REMAP       0x18UL
+#define CFA_RESOURCE_TYPE_P4_FORMAT_6_ACTION     0x14UL
+/* L2 Context TCAM High priority entries */
+#define CFA_RESOURCE_TYPE_P4_L2_CTXT_TCAM_HIGH   0x15UL
+/* L2 Context TCAM Low priority entries */
+#define CFA_RESOURCE_TYPE_P4_L2_CTXT_TCAM_LOW    0x16UL
+/* L2 Context REMAP high priority entries */
+#define CFA_RESOURCE_TYPE_P4_L2_CTXT_REMAP_HIGH  0x17UL
+/* L2 Context REMAP Low priority entries */
+#define CFA_RESOURCE_TYPE_P4_L2_CTXT_REMAP_LOW   0x18UL
 /* Profile Func */
 #define CFA_RESOURCE_TYPE_P4_PROF_FUNC           0x19UL
 /* Profile TCAM */
diff --git a/drivers/net/bnxt/tf_core/tf_core.h b/drivers/net/bnxt/tf_core/tf_core.h
index 758685e..8fa734a 100644
--- a/drivers/net/bnxt/tf_core/tf_core.h
+++ b/drivers/net/bnxt/tf_core/tf_core.h
@@ -162,7 +162,13 @@ enum tf_identifier_type {
 	 *  and can be used in WC TCAM or EM keys to virtualize further
 	 *  lookups.
 	 */
-	TF_IDENT_TYPE_L2_CTXT,
+	TF_IDENT_TYPE_L2_CTXT_HIGH,
+	/**
+	 *  The L2 Context is returned from the L2 Ctxt TCAM lookup
+	 *  and can be used in WC TCAM or EM keys to virtualize further
+	 *  lookups.
+	 */
+	TF_IDENT_TYPE_L2_CTXT_LOW,
 	/**
 	 *  The WC profile func is returned from the L2 Ctxt TCAM lookup
 	 *  to enable virtualization of the profile TCAM.
@@ -270,7 +276,9 @@ enum tf_tbl_type {
  */
 enum tf_tcam_tbl_type {
 	/** L2 Context TCAM */
-	TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
+	/** L2 Context TCAM */
+	TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
 	/** Profile TCAM */
 	TF_TCAM_TBL_TYPE_PROF_TCAM,
 	/** Wildcard TCAM */
diff --git a/drivers/net/bnxt/tf_core/tf_device_p4.h b/drivers/net/bnxt/tf_core/tf_device_p4.h
index 7fabb4b..06c3ecf 100644
--- a/drivers/net/bnxt/tf_core/tf_device_p4.h
+++ b/drivers/net/bnxt/tf_core/tf_device_p4.h
@@ -14,7 +14,8 @@
 #include "tf_global_cfg.h"
 
 struct tf_rm_element_cfg tf_ident_p4[TF_IDENT_TYPE_MAX] = {
-	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_L2_CTXT_REMAP },
+	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_L2_CTXT_REMAP_HIGH },
+	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_L2_CTXT_REMAP_LOW },
 	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_PROF_FUNC },
 	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_WC_TCAM_PROF_ID },
 	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_EM_PROF_ID },
@@ -23,7 +24,8 @@ struct tf_rm_element_cfg tf_ident_p4[TF_IDENT_TYPE_MAX] = {
 };
 
 struct tf_rm_element_cfg tf_tcam_p4[TF_TCAM_TBL_TYPE_MAX] = {
-	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_L2_CTXT_TCAM },
+	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_L2_CTXT_TCAM_HIGH },
+	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_L2_CTXT_TCAM_LOW },
 	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_PROF_TCAM },
 	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_WC_TCAM },
 	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_SP_TCAM },
@@ -45,10 +47,10 @@ struct tf_rm_element_cfg tf_tbl_p4[TF_TBL_TYPE_MAX] = {
 	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_SP_MAC_IPV4 },
 	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_SP_MAC_IPV6 },
 	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_COUNTER_64B },
-	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_NAT_SPORT },
-	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_NAT_DPORT },
-	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_NAT_S_IPV4 },
-	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_NAT_D_IPV4 },
+	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_NAT_PORT },
+	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_NAT_PORT },
+	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_NAT_IPV4 },
+	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_NAT_IPV4 },
 	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_METER_PROF },
 	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_METER },
 	{ TF_RM_ELEM_CFG_HCAPI_BA, CFA_RESOURCE_TYPE_P4_MIRROR },
diff --git a/drivers/net/bnxt/tf_core/tf_util.c b/drivers/net/bnxt/tf_core/tf_util.c
index aeee3b3..bf6a6a3 100644
--- a/drivers/net/bnxt/tf_core/tf_util.c
+++ b/drivers/net/bnxt/tf_core/tf_util.c
@@ -24,8 +24,10 @@ const char *
 tf_ident_2_str(enum tf_identifier_type id_type)
 {
 	switch (id_type) {
-	case TF_IDENT_TYPE_L2_CTXT:
-		return "l2_ctxt_remap";
+	case TF_IDENT_TYPE_L2_CTXT_HIGH:
+		return "l2_ctxt_remap_high";
+	case TF_IDENT_TYPE_L2_CTXT_LOW:
+		return "l2_ctxt_remap_low";
 	case TF_IDENT_TYPE_PROF_FUNC:
 		return "prof_func";
 	case TF_IDENT_TYPE_WC_PROF:
@@ -43,8 +45,10 @@ const char *
 tf_tcam_tbl_2_str(enum tf_tcam_tbl_type tcam_type)
 {
 	switch (tcam_type) {
-	case TF_TCAM_TBL_TYPE_L2_CTXT_TCAM:
-		return "l2_ctxt_tcam";
+	case TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH:
+		return "l2_ctxt_tcam_high";
+	case TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW:
+		return "l2_ctxt_tcam_low";
 	case TF_TCAM_TBL_TYPE_PROF_TCAM:
 		return "prof_tcam";
 	case TF_TCAM_TBL_TYPE_WC_TCAM:
diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c
index 6b0a403..c4ce003 100644
--- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c
+++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c
@@ -86,7 +86,7 @@ ulp_ctx_session_open(struct bnxt *bp,
 	resources = &params.resources;
 	/** RX **/
 	/* Identifiers */
-	resources->ident_cnt[TF_DIR_RX].cnt[TF_IDENT_TYPE_L2_CTXT] = 16;
+	resources->ident_cnt[TF_DIR_RX].cnt[TF_IDENT_TYPE_L2_CTXT_HIGH] = 16;
 	resources->ident_cnt[TF_DIR_RX].cnt[TF_IDENT_TYPE_WC_PROF] = 8;
 	resources->ident_cnt[TF_DIR_RX].cnt[TF_IDENT_TYPE_PROF_FUNC] = 8;
 	resources->ident_cnt[TF_DIR_RX].cnt[TF_IDENT_TYPE_EM_PROF] = 8;
@@ -96,7 +96,8 @@ ulp_ctx_session_open(struct bnxt *bp,
 	resources->tbl_cnt[TF_DIR_RX].cnt[TF_TBL_TYPE_ACT_STATS_64] = 720;
 
 	/* TCAMs */
-	resources->tcam_cnt[TF_DIR_RX].cnt[TF_TCAM_TBL_TYPE_L2_CTXT_TCAM] = 16;
+	resources->tcam_cnt[TF_DIR_RX].cnt[TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH] =
+									16;
 	resources->tcam_cnt[TF_DIR_RX].cnt[TF_TCAM_TBL_TYPE_PROF_TCAM] = 8;
 	resources->tcam_cnt[TF_DIR_RX].cnt[TF_TCAM_TBL_TYPE_WC_TCAM] = 416;
 
@@ -108,7 +109,7 @@ ulp_ctx_session_open(struct bnxt *bp,
 
 	/** TX **/
 	/* Identifiers */
-	resources->ident_cnt[TF_DIR_TX].cnt[TF_IDENT_TYPE_L2_CTXT] = 8;
+	resources->ident_cnt[TF_DIR_TX].cnt[TF_IDENT_TYPE_L2_CTXT_HIGH] = 8;
 	resources->ident_cnt[TF_DIR_TX].cnt[TF_IDENT_TYPE_WC_PROF] = 8;
 	resources->ident_cnt[TF_DIR_TX].cnt[TF_IDENT_TYPE_PROF_FUNC] = 8;
 	resources->ident_cnt[TF_DIR_TX].cnt[TF_IDENT_TYPE_EM_PROF] = 8;
@@ -122,7 +123,8 @@ ulp_ctx_session_open(struct bnxt *bp,
 	resources->tbl_cnt[TF_DIR_TX].cnt[TF_TBL_TYPE_ACT_ENCAP_16B] = 16;
 
 	/* TCAMs */
-	resources->tcam_cnt[TF_DIR_TX].cnt[TF_TCAM_TBL_TYPE_L2_CTXT_TCAM] = 8;
+	resources->tcam_cnt[TF_DIR_TX].cnt[TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH] =
+									8;
 	resources->tcam_cnt[TF_DIR_TX].cnt[TF_TCAM_TBL_TYPE_PROF_TCAM] = 8;
 	resources->tcam_cnt[TF_DIR_TX].cnt[TF_TCAM_TBL_TYPE_WC_TCAM] = 8;
 
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 feac30a..1fd5ab4 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_class.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_class.c
@@ -162,7 +162,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_RX,
 	.priority = BNXT_ULP_PRIORITY_LEVEL_0,
 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
@@ -217,7 +217,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_TX,
 	.priority = BNXT_ULP_PRIORITY_LEVEL_0,
 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
@@ -264,7 +264,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_TX,
 	.priority = BNXT_ULP_PRIORITY_LEVEL_0,
 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
@@ -297,7 +297,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_RX,
 	.priority = BNXT_ULP_PRIORITY_LEVEL_0,
 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
@@ -316,7 +316,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_RX,
 	.priority = BNXT_ULP_PRIORITY_LEVEL_0,
 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
@@ -335,7 +335,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_TX,
 	.priority = BNXT_ULP_PRIORITY_LEVEL_0,
 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
@@ -390,7 +390,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_RX,
 	.priority = BNXT_ULP_PRIORITY_LEVEL_0,
 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
@@ -437,7 +437,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_TX,
 	.priority = BNXT_ULP_PRIORITY_LEVEL_0,
 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
@@ -470,7 +470,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_RX,
 	.priority = BNXT_ULP_PRIORITY_LEVEL_0,
 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
@@ -489,7 +489,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_RX,
 	.priority = BNXT_ULP_PRIORITY_LEVEL_0,
 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
@@ -522,7 +522,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.resource_sub_type =
 		BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
 	.direction = TF_DIR_RX,
@@ -539,7 +539,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_RX,
 	.priority = BNXT_ULP_PRIORITY_LEVEL_0,
 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
@@ -611,7 +611,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.resource_sub_type =
 		BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
 	.direction = TF_DIR_RX,
@@ -628,7 +628,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_RX,
 	.priority = BNXT_ULP_PRIORITY_LEVEL_0,
 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
@@ -700,7 +700,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.resource_sub_type =
 		BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
 	.direction = TF_DIR_TX,
@@ -717,7 +717,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
-	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
+	.resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
 	.direction = TF_DIR_TX,
 	.priority = BNXT_ULP_PRIORITY_LEVEL_0,
 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
@@ -5295,7 +5295,7 @@ struct bnxt_ulp_mapper_result_field_info ulp_class_result_field_list[] = {
 struct bnxt_ulp_mapper_ident_info ulp_ident_list[] = {
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_L2_CTXT,
+	.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
 	.ident_bit_size = 10,
 	.ident_bit_pos = 0
@@ -5309,7 +5309,7 @@ struct bnxt_ulp_mapper_ident_info ulp_ident_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_L2_CTXT,
+	.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
 	.ident_bit_size = 10,
 	.ident_bit_pos = 0
@@ -5323,7 +5323,7 @@ struct bnxt_ulp_mapper_ident_info ulp_ident_list[] = {
 	},
 	{
 	.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-	.ident_type = TF_IDENT_TYPE_L2_CTXT,
+	.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
 	.regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
 	.ident_bit_size = 10,
 	.ident_bit_pos = 0
diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c
index 9a27cbf..24bde57 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c
@@ -345,13 +345,13 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
 	},
 	[2] = {
 		.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-		.resource_type           = TF_IDENT_TYPE_L2_CTXT,
+		.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 		.glb_regfile_index = BNXT_ULP_GLB_REGFILE_INDEX_GLB_L2_CNTXT_ID,
 		.direction               = TF_DIR_RX
 	},
 	[3] = {
 		.resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
-		.resource_type           = TF_IDENT_TYPE_L2_CTXT,
+		.resource_type           = TF_IDENT_TYPE_L2_CTXT_HIGH,
 		.glb_regfile_index = BNXT_ULP_GLB_REGFILE_INDEX_GLB_L2_CNTXT_ID,
 		.direction               = TF_DIR_TX
 	},
-- 
2.7.4


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

* [dpdk-dev] [PATCH 02/14] net/bnxt: initialize table scope rm parameters
  2020-07-17 14:10 [dpdk-dev] [PATCH 00/14] bnxt patches Somnath Kotur
  2020-07-17 14:11 ` [dpdk-dev] [PATCH 01/14] net/bnxt: changes to support new RM and multi-region Somnath Kotur
@ 2020-07-17 14:11 ` Somnath Kotur
  2020-07-17 14:11 ` [dpdk-dev] [PATCH 03/14] net/bnxt: enable default flows in truflow mode Somnath Kotur
  2020-07-17 14:17 ` [dpdk-dev] [PATCH 00/14] bnxt patches Somnath Kotur
  3 siblings, 0 replies; 8+ messages in thread
From: Somnath Kotur @ 2020-07-17 14:11 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit

From: Farah Smith <farah.smith@broadcom.com>

Clear out rm_is_allocated parms before calling as base_index was added and
is not used in this instance.

Signed-off-by: Farah Smith <farah.smith@broadcom.com>
Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
 drivers/net/bnxt/tf_core/tf_em_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/bnxt/tf_core/tf_em_common.c b/drivers/net/bnxt/tf_core/tf_em_common.c
index 10c3f16..0037fce 100644
--- a/drivers/net/bnxt/tf_core/tf_em_common.c
+++ b/drivers/net/bnxt/tf_core/tf_em_common.c
@@ -71,7 +71,7 @@ struct tf_tbl_scope_cb *
 tbl_scope_cb_find(uint32_t tbl_scope_id)
 {
 	int i;
-	struct tf_rm_is_allocated_parms parms;
+	struct tf_rm_is_allocated_parms parms = { 0 };
 	int allocated;
 	uint32_t rm_tbl_scope_id;
 
-- 
2.7.4


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

* [dpdk-dev] [PATCH 03/14] net/bnxt: enable default flows in truflow mode
  2020-07-17 14:10 [dpdk-dev] [PATCH 00/14] bnxt patches Somnath Kotur
  2020-07-17 14:11 ` [dpdk-dev] [PATCH 01/14] net/bnxt: changes to support new RM and multi-region Somnath Kotur
  2020-07-17 14:11 ` [dpdk-dev] [PATCH 02/14] net/bnxt: initialize table scope rm parameters Somnath Kotur
@ 2020-07-17 14:11 ` Somnath Kotur
  2020-07-17 14:17 ` [dpdk-dev] [PATCH 00/14] bnxt patches Somnath Kotur
  3 siblings, 0 replies; 8+ messages in thread
From: Somnath Kotur @ 2020-07-17 14:11 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit

From: Kishore Padmanabha <kishore.padmanabha@broadcom.com>

Removed the check to enable default flows only when VF representor
are enabled. It should be enabled all the time in truflow mode.

Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>
Reviewed-by: Michael Baucom <michael.baucom@broadcom.com>
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 318d6b3..0829493 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1404,8 +1404,7 @@ static void bnxt_dev_close_op(struct rte_eth_dev *eth_dev)
 	bnxt_cancel_fc_thread(bp);
 
 	if (BNXT_TRUFLOW_EN(bp)) {
-		if (bp->rep_info != NULL)
-			bnxt_destroy_df_rules(bp);
+		bnxt_destroy_df_rules(bp);
 		bnxt_ulp_deinit(bp);
 	}
 
@@ -1657,7 +1656,7 @@ static int bnxt_promiscuous_disable_op(struct rte_eth_dev *eth_dev)
 	if (rc != 0)
 		vnic->flags = old_flags;
 
-	if (BNXT_TRUFLOW_EN(bp) && bp->rep_info != NULL)
+	if (BNXT_TRUFLOW_EN(bp))
 		bnxt_create_df_rules(bp);
 
 	return rc;
-- 
2.7.4


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

* Re: [dpdk-dev] [PATCH 00/14] bnxt patches
  2020-07-17 14:10 [dpdk-dev] [PATCH 00/14] bnxt patches Somnath Kotur
                   ` (2 preceding siblings ...)
  2020-07-17 14:11 ` [dpdk-dev] [PATCH 03/14] net/bnxt: enable default flows in truflow mode Somnath Kotur
@ 2020-07-17 14:17 ` Somnath Kotur
  2020-07-17 14:28   ` Thomas Monjalon
  3 siblings, 1 reply; 8+ messages in thread
From: Somnath Kotur @ 2020-07-17 14:17 UTC (permalink / raw)
  To: dev; +Cc: Ferruh Yigit

On Fri, Jul 17, 2020 at 7:46 PM Somnath Kotur
<somnath.kotur@broadcom.com> wrote:
>
> From: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
>
> Some changes, cleanups/fixes in the TF-ULP layer
>
> Farah Smith (2):
>   net/bnxt: initialize table scope rm parameters
>   net/bnxt: fix em message size
>
> Jay Ding (1):
>   net/bnxt: replace NAT IPv4 action SRC/DEST
>
> Kishore Padmanabha (6):
>   net/bnxt: enable default flows in truflow mode
>   net/bnxt: add protocol header info based on proto field data
>   net/bnxt: fix dereference of a null pointer
>   net/bnxt: default egress rule changes
>   net/bnxt: update cfa truflow resource allocation numbers
>   net/bnxt: enable support for exact match templates
>
> Peter Spreadborough (1):
>   net/bnxt: changes to support new RM and multi-region
>
> Randy Schacher (2):
>   net/bnxt: clean up em message definition
>   net/bnxt: change header to SPDX-License
>
> Somnath Kotur (2):
>   net/bnxt: fix to avoid accumulation of flow counters
>   net/bnxt: remove unnecessary debug log
>
>  drivers/net/bnxt/bnxt_ethdev.c                  |     5 +-
>  drivers/net/bnxt/tf_core/cfa_resource_types.h   |   207 +-
>  drivers/net/bnxt/tf_core/tf_core.h              |    16 +-
>  drivers/net/bnxt/tf_core/tf_device_p4.h         |    13 +-
>  drivers/net/bnxt/tf_core/tf_em_common.c         |     2 +-
>  drivers/net/bnxt/tf_core/tf_msg.c               |     3 +-
>  drivers/net/bnxt/tf_core/tf_util.c              |    18 +-
>  drivers/net/bnxt/tf_ulp/bnxt_ulp.c              |    35 +-
>  drivers/net/bnxt/tf_ulp/bnxt_ulp.h              |     9 +
>  drivers/net/bnxt/tf_ulp/ulp_def_rules.c         |    11 +-
>  drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c            |     4 +-
>  drivers/net/bnxt/tf_ulp/ulp_mapper.c            |     3 -
>  drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c          |     8 +-
>  drivers/net/bnxt/tf_ulp/ulp_rte_parser.c        |   180 +-
>  drivers/net/bnxt/tf_ulp/ulp_template_db_act.c   |  2547 +++-
>  drivers/net/bnxt/tf_ulp/ulp_template_db_class.c | 17417 ++++++++++++++++++----
>  drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h  |   328 +-
>  drivers/net/bnxt/tf_ulp/ulp_template_db_field.h |   959 +-
>  drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c   |   478 +-
>  drivers/net/bnxt/tf_ulp/ulp_template_struct.h   |     1 +
>  20 files changed, 18533 insertions(+), 3711 deletions(-)
>
> --
> 2.7.4
>
Please ignore, missed the 'reply-to'

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

* Re: [dpdk-dev] [PATCH 00/14] bnxt patches
  2020-07-17 14:17 ` [dpdk-dev] [PATCH 00/14] bnxt patches Somnath Kotur
@ 2020-07-17 14:28   ` Thomas Monjalon
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Monjalon @ 2020-07-17 14:28 UTC (permalink / raw)
  To: Somnath Kotur; +Cc: dev, Ferruh Yigit

17/07/2020 16:17, Somnath Kotur:
> On Fri, Jul 17, 2020 at 7:46 PM Somnath Kotur
> <somnath.kotur@broadcom.com> wrote:
> >
> > From: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
> >
> > Some changes, cleanups/fixes in the TF-ULP layer
> >
[...]
> Please ignore, missed the 'reply-to'

Yes, and you missed the version number and the changelog.




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

* [dpdk-dev] [PATCH 00/14] bnxt patches
@ 2020-10-17  6:27 Venkat Duvvuru
  0 siblings, 0 replies; 8+ messages in thread
From: Venkat Duvvuru @ 2020-10-17  6:27 UTC (permalink / raw)
  To: dev; +Cc: Venkat Duvvuru

This patchset has support for vxlan decap full offload,
SR device support in tf_core and a few bug fixes.

Farah Smith (3):
  net/bnxt: map table scope API
  net/bnxt: table scope to PF Mapping for SR and Wh+
  net/bnxt: update SR ULP resource counts

Jay Ding (2):
  net/bnxt: add stingray support
  net/bnxt: changes to support 2 table scopes

Kishore Padmanabha (2):
  net/bnxt: add support for parent flow accumulation counters
  net/bnxt: add mapper support for wildcard TCAM entry

Peter Spreadborough (2):
  net/bnxt: device cleanup of FW
  net/bnxt: add build option for EM slot allocation

Somnath Kotur (2):
  net/bnxt: fix infinite loop in flow query count API
  net/bnxt: use cfa pair alloc for configuring reps

Venkat Duvvuru (3):
  net/bnxt: refactor flow id allocation
  net/bnxt: add support for VXLAN decap templates
  net/bnxt: add VXLAN decap offload support

 drivers/net/bnxt/bnxt.h                            |    6 +-
 drivers/net/bnxt/bnxt_ethdev.c                     |    2 +
 drivers/net/bnxt/bnxt_hwrm.c                       |   60 +-
 drivers/net/bnxt/bnxt_hwrm.h                       |    2 -
 drivers/net/bnxt/bnxt_reps.c                       |   18 +-
 drivers/net/bnxt/hcapi/hcapi_cfa.h                 |   39 +-
 drivers/net/bnxt/meson.build                       |    1 +
 drivers/net/bnxt/tf_core/cfa_resource_types.h      |   95 +-
 drivers/net/bnxt/tf_core/tf_core.c                 |   57 +-
 drivers/net/bnxt/tf_core/tf_core.h                 |   57 +-
 drivers/net/bnxt/tf_core/tf_device.c               |    9 +-
 drivers/net/bnxt/tf_core/tf_device.h               |   47 +-
 drivers/net/bnxt/tf_core/tf_device_p4.c            |   69 +-
 drivers/net/bnxt/tf_core/tf_device_p4.h            |    6 +
 drivers/net/bnxt/tf_core/tf_device_p45.h           |  105 +
 drivers/net/bnxt/tf_core/tf_em.h                   |   25 +-
 drivers/net/bnxt/tf_core/tf_em_common.c            |  175 +-
 drivers/net/bnxt/tf_core/tf_em_common.h            |   27 +-
 drivers/net/bnxt/tf_core/tf_em_host.c              |   31 +-
 drivers/net/bnxt/tf_core/tf_global_cfg.c           |    4 +-
 drivers/net/bnxt/tf_core/tf_global_cfg.h           |   42 +-
 drivers/net/bnxt/tf_core/tf_msg.c                  |   13 +-
 drivers/net/bnxt/tf_core/tf_msg.h                  |    4 +-
 drivers/net/bnxt/tf_core/tf_session.h              |   16 +-
 drivers/net/bnxt/tf_core/tf_tbl.h                  |    3 +
 drivers/net/bnxt/tf_core/tfp.c                     |   19 +
 drivers/net/bnxt/tf_core/tfp.h                     |   16 +
 drivers/net/bnxt/tf_ulp/bnxt_tf_common.h           |    4 +-
 drivers/net/bnxt/tf_ulp/bnxt_ulp.c                 |   50 +-
 drivers/net/bnxt/tf_ulp/bnxt_ulp.h                 |   12 +
 drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c            |  129 +-
 drivers/net/bnxt/tf_ulp/ulp_def_rules.c            |   48 +-
 drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c               |  133 +-
 drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h               |   19 +
 drivers/net/bnxt/tf_ulp/ulp_flow_db.c              |  475 +++-
 drivers/net/bnxt/tf_ulp/ulp_flow_db.h              |   46 +
 drivers/net/bnxt/tf_ulp/ulp_mapper.c               |   83 +-
 drivers/net/bnxt/tf_ulp/ulp_mapper.h               |    6 +-
 drivers/net/bnxt/tf_ulp/ulp_rte_parser.c           |   85 +-
 drivers/net/bnxt/tf_ulp/ulp_rte_parser.h           |   12 +
 drivers/net/bnxt/tf_ulp/ulp_template_db_class.c    |  962 +++++---
 drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h     |   42 +-
 drivers/net/bnxt/tf_ulp/ulp_template_db_field.h    |  363 ++-
 .../net/bnxt/tf_ulp/ulp_template_db_stingray_act.c |  116 +-
 .../bnxt/tf_ulp/ulp_template_db_stingray_class.c   | 2493 ++++++++++++++++----
 drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c      |    9 +-
 .../net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c  |  116 +-
 .../bnxt/tf_ulp/ulp_template_db_wh_plus_class.c    | 2489 +++++++++++++++----
 drivers/net/bnxt/tf_ulp/ulp_template_struct.h      |    7 +
 drivers/net/bnxt/tf_ulp/ulp_tun.c                  |  310 +++
 drivers/net/bnxt/tf_ulp/ulp_tun.h                  |   92 +
 drivers/net/bnxt/tf_ulp/ulp_utils.c                |  125 +
 drivers/net/bnxt/tf_ulp/ulp_utils.h                |   48 +-
 53 files changed, 7185 insertions(+), 2037 deletions(-)
 create mode 100644 drivers/net/bnxt/tf_core/tf_device_p45.h
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tun.c
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tun.h

-- 
2.7.4


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

* [dpdk-dev] [PATCH 00/14] bnxt patches
@ 2020-07-17  9:49 Somnath Kotur
  0 siblings, 0 replies; 8+ messages in thread
From: Somnath Kotur @ 2020-07-17  9:49 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit

some changes , cleanup/fixes in the TF-ULP layer

Farah Smith (2):
  net/bnxt: initialize table scope rm parameters
  net/bnxt: fix em message size

Jay Ding (1):
  net/bnxt: replace NAT IPv4 action SRC/DEST

Kishore Padmanabha (6):
  net/bnxt: enable default flows in truflow mode
  net/bnxt: add protocol header info based on proto field data
  net/bnxt: fix dereference of a null pointer
  net/bnxt: default egress rule changes
  net/bnxt: update cfa truflow resource allocation numbers
  net/bnxt: enable support for exact match templates

Peter Spreadborough (1):
  net/bnxt: changes to support new RM and multi-region

Randy Schacher (2):
  net/bnxt: clean up em message definition
  net/bnxt: change header to SPDX-License

Somnath Kotur (2):
  net/bnxt: fix to avoid accumulation of flow counters
  net/bnxt: add debug logs to the TF-ULP layer

 drivers/net/bnxt/bnxt_ethdev.c                     |     5 +-
 drivers/net/bnxt/meson.build                       |     2 +
 drivers/net/bnxt/tf_core/cfa_resource_types.h      |   207 +-
 drivers/net/bnxt/tf_core/tf_core.h                 |    16 +-
 drivers/net/bnxt/tf_core/tf_device_p4.h            |    13 +-
 drivers/net/bnxt/tf_core/tf_em_common.c            |     2 +-
 drivers/net/bnxt/tf_core/tf_msg.c                  |     3 +-
 drivers/net/bnxt/tf_core/tf_util.c                 |    18 +-
 drivers/net/bnxt/tf_ulp/Makefile                   |    10 +
 drivers/net/bnxt/tf_ulp/bnxt_tf_common.h           |     6 +
 drivers/net/bnxt/tf_ulp/bnxt_ulp.c                 |    41 +-
 drivers/net/bnxt/tf_ulp/bnxt_ulp.h                 |     9 +
 drivers/net/bnxt/tf_ulp/bnxt_ulp_flow.c            |    10 +
 drivers/net/bnxt/tf_ulp/ulp_def_rules.c            |    11 +-
 drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c               |     4 +-
 drivers/net/bnxt/tf_ulp/ulp_mapper.c               |   130 +-
 drivers/net/bnxt/tf_ulp/ulp_mark_mgr.c             |     8 +-
 drivers/net/bnxt/tf_ulp/ulp_matcher.c              |     4 +
 drivers/net/bnxt/tf_ulp/ulp_port_db.c              |     8 +-
 drivers/net/bnxt/tf_ulp/ulp_rte_parser.c           |   180 +-
 drivers/net/bnxt/tf_ulp/ulp_template_db_act.c      |  2547 ++-
 drivers/net/bnxt/tf_ulp/ulp_template_db_class.c    | 17417 ++++++++++++++++---
 drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h     |   328 +-
 drivers/net/bnxt/tf_ulp/ulp_template_db_field.h    |   959 +-
 drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c      |   478 +-
 drivers/net/bnxt/tf_ulp/ulp_template_debug.c       |   595 +
 drivers/net/bnxt/tf_ulp/ulp_template_debug.h       |   329 +
 drivers/net/bnxt/tf_ulp/ulp_template_debug_proto.h |    72 +
 drivers/net/bnxt/tf_ulp/ulp_template_struct.h      |     1 +
 drivers/net/bnxt/tf_ulp/ulp_tf_debug.c             |  1161 ++
 drivers/net/bnxt/tf_ulp/ulp_tf_debug.h             |    26 +
 drivers/net/bnxt/tf_ulp/ulp_utils.c                |     2 +-
 32 files changed, 20858 insertions(+), 3744 deletions(-)
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_debug.c
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_debug.h
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_template_debug_proto.h
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tf_debug.c
 create mode 100644 drivers/net/bnxt/tf_ulp/ulp_tf_debug.h

-- 
2.7.4


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

end of thread, other threads:[~2020-10-17  6:28 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-17 14:10 [dpdk-dev] [PATCH 00/14] bnxt patches Somnath Kotur
2020-07-17 14:11 ` [dpdk-dev] [PATCH 01/14] net/bnxt: changes to support new RM and multi-region Somnath Kotur
2020-07-17 14:11 ` [dpdk-dev] [PATCH 02/14] net/bnxt: initialize table scope rm parameters Somnath Kotur
2020-07-17 14:11 ` [dpdk-dev] [PATCH 03/14] net/bnxt: enable default flows in truflow mode Somnath Kotur
2020-07-17 14:17 ` [dpdk-dev] [PATCH 00/14] bnxt patches Somnath Kotur
2020-07-17 14:28   ` Thomas Monjalon
  -- strict thread matches above, loose matches on Subject: below --
2020-10-17  6:27 Venkat Duvvuru
2020-07-17  9:49 Somnath Kotur

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